Connect with us

Программирование

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

В мире существует более 500 языков программирования. Следовательно, нет ничего необычного в том, что вы начинаете учить новый.

Фото аватара

Опубликовано

/

     
     

Разработчик Сахил Дуа выработал необычный подход к изучению новых языков программирования. Делимся переводом его статьи.

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

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

Какие есть варианты изучения нового языка?

  • по онлайн руководствам;
  • в онлайн курсах (MOOC).

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

  • изучить синтаксис нового языка программирования и…
  • создать свой собственный проект, используя этот язык..

Вполне справедливо! Это даст вам уверенность в том, что вы сразу примените на практике изученный синтаксис.

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

Любой дурак может написать код, который может понять компьютер. Хорошие программисты пишут код, который могут понять люди, — Мартин Фаулер.

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

Примите участие в открытом проекте на этом языке

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

Нет, не верно.

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

В прошлом году у меня было предложение о работе от 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! Я начал читать о синтаксисе Go и нашел удивительный начальный курс для новичков на их официальном сайте. Он был достаточно хорошо, чтобы познакомить меня со всеми основными понятиями.

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

Спустя 2 дня после начала изучения Go у меня был свой первый проект.

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

Вот график моих вкладов за последний год — https://github.com/sahildua2305.

Как открытый код помогает?

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

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

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

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

Ревью кода

Лучшая часть open source – это сам обзор кода. Когда вы пушите ваш код, вы получаете отзыв от экспертов проекта, и это дает вам возможность улучшить понимание языка.

Это похоже на получение личных бесплатных уроков написания хорошего кода.

Признание

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

Поэтому в следующий раз, когда вы захотите выучить новый язык, двигайтесь сразу вперед и сделайте решительный шаг! Найдите проект с открытым исходным кодом, чтобы внести в него свой вклад, и с его помощью продвигайтесь вперед по вашему пути изучения этого языка и его нюансов ;)

Дайте мне знать, как этот нетрадиционный способ сработает для вас. Также, пожалуйста, порекомендуйте (❤) этот пост, если вы думаете, что это может быть полезно кому-то.

Не стесняйтесь поделиться любым другим способом, который сработал для вас.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Наши партнеры:

LEGALBET

Мобильные приложения для ставок на спорт
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: