Как изучить новый язык программирования или фреймворк

2
2259
views

Перевод статьи Vinicius Brasil «How to Learn a New Programming Language or Framework».

Как изучить новый язык программирования

Новые языки программирования появляются ежедневно. Dart, Go, Kotlin, Elixir и прочие! Справиться с кривой их изучения может быть непросто, но есть определенные подходы, которые помогут вам пройти этот путь.

Для ускорения процесса обучения, а также чтобы свободнее владеть новым языком или фреймворком, стоит предпринять следующие шаги.

Изучите язык, а уж затем фреймворк

Некоторые люди пытаются изучать фреймворки, например, Ruby on Rails, без знания языка (в данном случае – Ruby). Это большая проблема, особенно если речь идет о Rails, для которого Ruby является предметно-ориентированным языком (DSL, domain-specific language).

Решайте задачки на программирование

Есть много сайтов, таких как LeetCode, HackerRank и Project Euler, которые могут помочь вам в этом вопросе. Решая задачи, вы узнаете гораздо больше о синтаксисе, библиотеках и логике. Также это хороший способ подготовиться к собеседованиям.

Пользуйтесь StackOverflow и Code Review в свое удовольствие

Решая задачи, вы будете сталкиваться с проблемами. Чтобы с ними разобраться, вы можете использовать StackOverflow – сайт, не нуждающийся в представлении.

Также будет хорошей идеей пользоваться разделом Code Review сайта StackExchange – сети от StackOverflow. Смысл этого раздела в том, что вы можете получить ревью своего кода от экспертов по языку, который вы изучаете. Просмотрите раздел для новичков и присоединитесь к отличному сообществу!

Читайте побольше кода

Здесь вам очень поможет GitHub. На этом сайте вы сможете найти продкашен-код на изучаемом вами языке. А если вы уже достаточно уверены в себе, чтобы сделать свой вклад, то это будет даже лучше.

Читайте побольше кода

Установите статический анализатор кода (Linter)

Линтеры это инструменты для анализа кода, помечающие баги, идиоматические отступления, стилистические ошибки и многое другое. Эти инструменты будут помечать ошибки, чтобы вы могли их исправить, и таким образом вы будете учиться. В качестве линтера для Ruby я использую RuboCop.

Пишите код идиоматически

Когда я изучал Python, я перенес на него свои знания C#. Это отличный способ изучения нового языка программирования. Однако, этого недостаточно, чтобы свободно им владеть, поскольку так вы не научитесь писать код с применением идиом этого языка.

Для иллюстрации, взгляните на этого код на Python:

[python]def matrix_of_floats(matrix_of_anything):
n = len(matrix_of_anything)
n_i = len(matrix_of_anything[0])
new_matrix_of_floats = []
for i in xrange(0, n):
row = []
for j in xrange(0, n_i):
row.append(float(matrix_of_anything[i][j]))
new_matrix_of_floats.append(row)
return new_matrix_of_floats[/python]

А это тот же код, но с применением идиоматического написания, характерного для Python:

[python]def matrix_of_floats(matrix_of_anything):
return [[float(a_ij) for a_ij in a_i]
for a_i in matrix_of_anything][/python]

Чтобы так писать код, вам нужно читать побольше кода, написанного профессионалами.

Постройте что-нибудь!

Это самое лучшее. Мы ведь учим языки программирования, чтобы на них создавать что-нибудь. Когда я изучал Ruby, я использовал фреймворк Rails, чтобы построить блог, todo-приложение, клон Википедии и сайт, похожий на Rotten Tomatoes.

Построение чего-нибудь затронет каждый изучаемый вами аспект.

Не сдавайтесь

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

Совет джедая

Совет джедая: while(true) => study()

Я знаю одного программиста, который уже больше 20 лет изучает C#. И он по-прежнему каждый день открывает для себя что-то новое в C# и .NET. Этот парень – Антонио Маниеро, самый влиятельный член StackOverflow на португальском языке.

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

Да пребудет с вами сила! Поделитесь в комментариях, что лично вам помогает в изучении новых языков.



2 КОММЕНТАРИИ

  1. Статья короткая, но по делу, спасибо)
    Самое главное практика — по ходу теория нужная и навыки подтянутся.

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here