Найти в Дзене

Как эффективно изучать языки программирования? Отвечают эксперты

В Сети сейчас очень много обучающих курсов, статей, видео и прочих ресурсов, которые призваны помочь в изучении того или иного языка программирования, и каждый из них советует свою программу обучения. Какой алгоритм самый эффективный? Спрашиваем у экспертов. Половина нашей команды — разработчики. И даже среди них нет единой точки зрения о том, с чего стоит начинать изучать тот или иной язык программирования. Все по-разному пришли в разработку — кто-то «играл в код» ещё в начальной школе, другой изучал сам вопреки основной профессии. Сам я по образованию программист, много лет занимался разработкой на С++. По опыту скажу: нельзя найти универсальный и единственно правильный путь изучения программирования. Если кому-то «заходит» только практика, это не значит, что другой, прикладывая максимальные усилия, тем же путём освоит язык. На мой взгляд, наиболее приближен к идеалу следующий алгоритм изучения языка: И запомните одну вещь — учиться и совершенствоваться необходимо на протяжении всег

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

программист
программист

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

Сам я по образованию программист, много лет занимался разработкой на С++. По опыту скажу: нельзя найти универсальный и единственно правильный путь изучения программирования. Если кому-то «заходит» только практика, это не значит, что другой, прикладывая максимальные усилия, тем же путём освоит язык.

На мой взгляд, наиболее приближен к идеалу следующий алгоритм изучения языка:

  • Определитесь с областью разработки и той сферой, где бы вы хотели в дальнейшем применять полученные знания. Заранее настройтесь морально, что как минимум полгода вы будете тратить свободное время на изучение языка.
  • Не бросайтесь как в омут с головой в практику и непонятные километры кода, изучите теоретические основы, коих сейчас масса. Важно проследить развитие языка и понять стек технологий, фишки и особенности синтаксиса.
  • Подтяните английский язык, расширяйте словарный запас. Незнание иностранного значительно сужает рамки возможностей программиста, лишает общения с коллегами и получения информации из оригинальной технической документации, поскольку всё будет доходить постфактум и с искажениями в переводе.
  • Получив первичное представление о технологиях и особенностях языка, приступайте к практике: выполняйте задания из видеокурсов и книг, поищите интересные YouTube-каналы, на базе примеров составляйте и решайте свои задачи, усложняя вводные. За основу возьмите задания, например с бирж фриланса. Не следуйте слепо тому образцу, который будет «подан» и «разжеван».
  • Начните работу над собственными проектами. Пусть простыми, даже элементарными, но это даст толчок к развитию в профессии. В данном случае лучше заранее собрать все «грабли», чем спотыкаться в дальнейшем.
  • Если будут возникать вопросы — а они будут возникать — не ленитесь обращаться к специализированным ресурсам и книгам более продвинутого уровня, чтобы повышать скиллы.

И запомните одну вещь — учиться и совершенствоваться необходимо на протяжении всего своего пути. Это аксиома.

Изучать синтаксис языка программирования исключительно в теории не стоит. Помню, когда я учился в 9-ом классе, когда у меня даже не было компьютера, я прочитал книгу про Algol-60 и ничего не понял. В освоении языков самое важное — практика! Поэтому на первых этапах надо изучать не синтаксис, а идиоматику — средства, которыми принято выражаться в этом языке. Надо научиться понимать, как правильно формулировать. Без этого код будут плохо понимать другие программисты, даже если синтаксис будет правильным.

Если говорить об алгоритме изучения языка, советую:

  1. Сначала почитать об этом языке: его истории, синтаксисе и основных инструментах. На это человеку, который уже знает основы программирования, достаточно будет потратить один вечер.
  2. Начать читать чужой код. Если надо научиться языку Scala или Clojure, я иду на GitHub, нахожу работающие проекты или известных людей, заслуживающих доверия, и изучаю их код. Как художник вдохновляется шедеврами признанных мастеров, программист может учиться идиоматике языка, читая код более опытных специалистов.
  3. Уже через пару дней можно начать экспериментировать и делать попытки создать что-то своё. Если язык позволяет написать web-сервис, можно сделать записную книжку, прогноз погоды, что-то несложное. Меняя код, искать наилучшие варианты, постепенно усложняя задачи.
  4. После этого нужно начать применять новый язык в решении реальных задач, углубляя в процессе его понимание и способы применения. Тут уже нет предела совершенству!