Нетрадиционный способ изучения нового языка программирования

Существует более 500 языков программирования. Следовательно, для вас вполне нормально начать изучать новый язык программирования сегодня. Возможно, вы знакомы с C ++ и Java, но ваша работа требует Python или вы хорошо разбираетесь в Python, и вам нужно программировать на Java на работе. Или, может быть, вы хотите изучить этот классный язык, чтобы расширить свой опыт.

Каковы ваши варианты, если вы хотите изучить новый язык программирования?

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

  • Изучите синтаксис нового языка программирования и

  • Создайте личный проект, используя этот язык

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

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

«Любой дурак может написать код, который компьютер может понять. Хорошие программисты пишут код, который люди могут понять. "- (Martin Fowler)

Вносите вклад в проект с открытым исходным кодом на этом языке.

Удивлены? Некоторые из вас могут подумать: «Но подождите, с открытым исходным кодом трудно. Мы можем внести свой вклад в проект с открытым исходным кодом, только если мы будем специалистом в этом языке, верно? ». Ответ - нет.

Позвольте мне рассказать вам историю.

В прошлом году у меня было предложение о полной занятости от Booking.com, и я знал, что буду работать над Perl (который является их основным языком для бэкэнда). В июне 2016 года, когда я окончил колледж, я начал изучать Perl, чтобы подготовиться к моей первой работе после колледжа. Поскольку я должен был присоединиться к второй неделе июля, у меня был примерно один месяц.

Я начал читать о синтаксисе Perl и начал понимать некоторые общие шаблоны языка. Теперь я действительно хотел что-то построить с помощью Perl, чтобы я мог применять свои знания языка и практиковать различные концепции языка. Хотя я искал идеи для создания чего-то в Perl, я наткнулся на DuckDuckGo с открытым исходным кодом на GitHub. Я заметил, что некоторые из открытых проектов были написаны на Perl. Я взглянул на эти проблемы и нашел много вопросов для начинающих. Я сразу начал работать над ними и представил пару запросов на вытягивание. Перенесемся сегодня, я являюсь одним из главных участников нескольких открытых проектов, а также одним из 20 лидеров сообщества Open Source для DuckDuckGo.

Мораль истории - я закончил изучение Perl, внося свой вклад в проекты с открытым исходным кодом, написанные на Perl.

Так почему это сработало?

Сразу после того, как я изучил синтаксис Perl, я начал участвовать в проектах с открытым исходным кодом. При этом я всегда смотрел на существующие модули. Я привык замечать шаблоны, используемые в Perl. Следовательно, я начал собирать эти хорошие практики в своем собственном коде, и это помогло мне научиться писать хороший код в Perl.

Это было не просто совпадение. Позвольте мне рассказать вам еще одну историю, чтобы проследить взаимосвязь.

Недавно, работая на Booking.com, я взял на себя некоторые задачи, которые включали работу (добавление новой функции) в одну из служб, написанных на языке Go. Это был разговор с моим товарищем по команде -

Я: Мне очень нравится эта задача. Я хочу работать над ней. Что думаешь?

Он: Да, это действительно интересно. Однако для этого требуется знание Go. Знаешь Go?

Я: нет.

Он: хочешь изучить Go?

Я: да!

Он: * улыбается * Тогда вперед! (There you GO!)

Я начал читать о синтаксисе Go и нашел удивительный языковой тур для новичков на их официальном сайте. Это было достаточно хорошо, чтобы познакомить меня со всеми основными понятиями языка.

Еще раз, я начал искать проекты с открытым исходным кодом в Go, у которых были проблемы, которые «легко исправить». Я нашел проект от Google, который в основном является оболочкой Go для API REST GitHub.

Через два дня после начала обучения Go у меня был первый PR.

Как это помогает?

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

Качество кода

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

Это не все. У вас есть шанс взглянуть на остальную часть кода и посмотреть, насколько хорошо он написан и / или документирован.

Обзоры кодов

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

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