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

  Юрий  | 

  Обновл. 4 Сен 2021  | 

 17747

 ǀ   2 

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (93 оценок, среднее: 4,86 из 5)
Загрузка...

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

  1. korvell:

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

    1. Фото аватара Юрий:

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

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

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