2 главных подхода в изучении программирования

   | 

 Обновлено 2 Сен 2018  | 

 868

 ǀ   2 

Есть два основных подхода в изучении программирования. В этой статье мы рассмотрим плюсы и минусы каждого из них и постараемся выбрать золотую середину, чтобы максимально эффективно и результативно использовать свой самый главный ресурс — время.

Метод «Снизу-Вверх»

Суть — изучение базиса и необходимого фундамента для дальнейшего продвижения. Подход «Снизу-Вверх» популярен не только во многих онлайн и офлайн курсах, но и в учреждениях образования (например, в университетах или колледжах). Вы начинаете с нуля и изучаете только одну концепцию или тему за раз. Идея состоит в том, чтобы получить прочный фундамент и основы программирования, которые в дальнейшем помогут вам развиваться в любом направлении программирования.

Главным преимуществом является то, что вы действительно изучаете основы. Не имеет значения, делаете ли вы 3D-игру или интерактивный веб-сайт — фундаментальные основы применимы и используются везде.

Учить каждую концепцию отдельно — легче, так как это происходит изолированно. Если выбранный вами курс с подходом «Снизу-Вверх» хорошо структурирован, то вы не будете подвергнуты бомбардировке 1000 разными терминами/концепциями за раз. Вам предоставляется каждая новая тема изолированно в «удобно-съедобном» виде. Сначала идут базовые вещи (например, что такое переменная, функция, программа и т.д.), а затем уже происходит плавный переход к более сложным темам (например, к классам, циклам, ООП и т.д.).

Минусом, если его вообще можно так назвать, является скорость продвижения. Хотя это всё также индивидуально. Сначала вы тратите время, чтобы получить необходимые знания и только потом применяете их на практике. А чтобы сделать что-либо значительное, вам потребуется многое узнать. Например, для реализации интерактивного веб-сайта вам могут понадобиться недели, если не месяцы обучения. А для создания более-менее хорошей 3D-игры вам понадобятся месяцы, если не годы.

А когда период изучения затягивается, а счастья от мгновенного результата вы не получаете, то тут и начинается конфликт ожиданий. Более подробно об этом этапе мы поговорим в другой статье. Но суть в том, что большинству новичков гораздо интереснее создать веб-сайт за день, нежели неделю разбираться со всеми нюансами циклов или массивов. Это не плохо и не хорошо, это факт.

Метод «Сверху-Вниз»



Суть — создание рабочих проектов с самого старта обучения. Большинство программистов-самоучек начинали свой путь именно с этого подхода. Цель – создать готовый, рабочий проект. Например, 3D-игру или красивый интерактивный веб-сайт. Самый быстрый способ реализовать проект с нуля — следовать подробному туториалу. Повторяя в точности все шаги из выбранного вами гайда вы сможете в течении относительно небольшого срока создать готовый проект с нуля.

Главным преимуществом является то, что вы сходу что-то делаете, вы не погружаетесь в изучение базы, не тратите время на то, чтобы ознакомиться и разобраться со всеми концепциями и их нюансами. Вы тупо делаете проект. И это чувство мгновенного результата от своих действий мотивирует вас на протяжении прохождения всех уроков.

Но в этом и кроется главный недостаток — вы не учите основы. Базис, который вам необходим для дальнейшего роста вы просто-напросто пропускаете.

В конце туториала вы даже можете не понимать, как работает ваше творение. Если уроки недостаточно подробные, то у вас будут большие пробелы в знаниях, которые заполнить быстро уже не получиться. Вам всё равно придется потратить якобы «сэкономленное» время на изучение основ. Если же вы попытаетесь отслониться от инструкций туториала хоть малейшим действием, то весь ваш проект может рухнуть в одну минуту, и вы даже не поймете, почему так сталось и как это исправить. Вам просто нужно всё копировать и повторять. Даже не пытайтесь заглянуть под капот. Не смотрите в эту бездну 🙂

Какой подход выбрать?

Ни первый, ни второй. Чтобы стать опытным программистом, вам нужно совмещать оба этих подхода.

Вам нужен опыт создания программ/приложений/продуктов, даже если вы не понимаете полностью все детали. Вам нужна мотивация, чтобы продолжать обучаться, и это чувство счастья от мгновенного результата может вам помочь. Изучение только концепций и теории недостаточно, чтобы подготовить вас к работе над реальными проектами.

Но при этом вам необходимы знания основ. Вам нужно уметь понимать и отлаживать код — как собственный, так и код, написанный другими разработчиками. Вы должны научиться писать код сами, без помощи кого-либо и без каких-либо подсказок. Привыкать к готовым решениям в Интернете — не очень хорошая практика, так как решений вы можете и не найти, а задачу решить придется.

Выход — чередовать эти 2 подхода.

Чувствуете, что перегружены и не понимаете, что делает ваш код? Переключитесь на подход «Снизу-Вверх». Вернитесь к теории и разберитесь с тем, что и как делает ваш код. Постарайтесь заполнить пробелы в своих знаниях.

Надоедает изучение абстрактных концепций программирования? Переключитесь на подход «Сверху-Вниз». Создайте что-то маленькое, например, простенький сайт или игру. Постарайтесь применить на практике полученные знания и ощутите «счастье от мгновенного результата».

Легко и просто не будет, но и настолько сложно, чтобы это не осилить — также не будет. Не беспокойтесь слишком много о том, что вы еще чего-то не знаете — это дело времени. Но и не забывайте о том, что без действий ничего, абсолютно ничего не будет. А чтобы вам в этом помочь, а именно в изучении программирования, в частности С++, был создан курс по C++, который вы могли видеть здесь.

В этом курсе как раз и совмещаются эти 2 подхода. Все темы раскрываются поочередно и изложены в «удобно-съедобном» виде (по крайней мере, я стараюсь делать это таким). Вся теория сразу же иллюстрируется в примерах и в конце уроков (не каждого!) есть тесты: задания, которые вам нужно решить, применив полученные знания из урока на практике. Также в конце каждой главы есть итоговый тест — то самое чувство мгновенного результата и самостоятельной практики. Поэтому пробуйте то, что подходит вам, совмещайте разные подходы и не забывайте о самом главном — получать удовольствие от процесса.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (18 оценок, среднее: 4,94 из 5)
Загрузка...
Подписаться на обновления:

Комментариев: 2

  1. korvell:

    Полезная статья для новичка. Я пришел ко всему написанному в статье сам методом проб и ошибок 🙂

    1. Юрий Юрий:

      Да, пока не попробуешь на своей шкуре, то всё что будут говорить — будет пролетать мимо ушей. Практика, практика и еще раз практика.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

ПОДПИСЫВАЙТЕСЬ

НА КАНАЛ RAVESLI В TELEGRAM

@ravesli

ПОДПИСАТЬСЯ БЕСПЛАТНО