Как изучить ещё один язык программирования: советы и рекомендации

язык программирования

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

Почитайте официальную документацию языка

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

Пишите небольшие программы

Мало что может сравниться с написанием кода в качестве закрепления полученных знаний. Изучили что-то новое — напишите небольшую программу, в которой это будет использоваться. Если вы решите задачу с такой площадки, как Project Euler или Rosetta Code, то вы сможете сравнить своё решение с решениями других людей.

Пишите готовый для продакшна код

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

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

Допустим, у вас есть опыт в 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 (идиоматический код):

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

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

Прочтите книгу по языку

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

Перед покупкой книги проверьте дату её публикации и версии языка, которые эта книга покрывает. Если вы читаете старую книгу, то попробуйте все примеры, которые в ней есть, на используемой в книге версии языка. Затем разузнайте, как изменился язык с момента публикации книги.

Теряетесь в многообразии книг? Не беда, вот, например, подборка книг для начинающих изучать Java, или исчерпывающий список книг по C++. Подборки книг по другим языкам можно найти у нас в соответствующем разделе.

Смотрите лекции и курсы

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

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

Читайте примеры кода

Большинство книг по языкам программирования содержит фрагменты кода. Также примеры кода можно найти в блогах и на ресурсах вроде Rosetta Code. Запустите эти примеры, измените их и попытайтесь предугадать, к чему приведут эти изменения.

Сравните его с похожими языками

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

  • Которые выглядят знакомо и делают то, что вы ожидали;
  • Которые выглядят знакомо, но делают что-то другое;
  • Которые вам абсолютно не знакомы.

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

Читайте продакшн-код

Как вариант, разного рода код можно найти на GitHub. Отсортируйте репозитории по количеству форков или звёзд, и первые несколько результатов будут содержать самые популярные open-source инструменты этого языка. Если вы пытаетесь разобраться в структуре open-source проекта, то будет полезно взаимодействовать с теми, кто его разрабатывает, посредством email-рассылки или IRC. Возможно, вам даже удастся найти какой-нибудь баг.

Найдите хорошие инструменты для разработки

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

Поддерживайте свой энтузиазм

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

Может, у вас есть какие-нибудь советы по изучению нового языка? Делитесь ими в комментариях.

На основе статьи 12 ways to study a new programming language

Ещё интересное для вас:
— Биты, байты, Ада Лавлейс — тест на знание околоIT.
— Level Up — события и курсы, на которых можно поднять свой уровень.
— Работа мечты — лучшие IT-вакансии для вас.