Все статьи | Код

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

Как выбрать первый язык программирования главное изображение

Это расшифровка лекции «Как выбрать первый язык программирования» CEO Хекслета Кирилла Мокевнина о том, что действительно важно при выборе языка программирования и с чего можно начать обучение. Пересказываем главные идеи c небольшими дополнениями.

С чего начать

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

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

Кроме того, в основе почти всех языков программирования лежат одинаковые концепции, а их базовые конструкции за редким исключением идентичны. Ядро каждого языка программирования — переменные, константы, функции, циклы, рекурсии и конструкции из базовой алгебры. Эти сущности присутствуют в каждом языке.

Составьте свое первое резюме: Вы можете бесплатно опубликовать свое резюме в нашем сервисе «Хекслет-CV» и получить советы по его улучшению от разработчиков и HR-менеджеров

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

Какие подходы к выбору первого языка существуют

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

  1. Ресурсы ограничены и сменить работу нужно как можно скорее. В этом случае стоит посмотреть, какие языки программирования в вашем регионе упоминаются в вакансиях чаще всего. В последние два года в их список входят PHP, Python, Ruby и Javascript. Все это — динамические языки, которые используются в прикладной разработке. Их изучение — вероятно, самый простой вход в индустрию.

  2. Есть время и хочется разобраться глубже. Здесь стоит присмотреться к семейству языков Lisp (Common Lisp, Racket, Scheme). Они кардинально отличаются от языков программирования, перечисленных в первом пункте: на практике они редко используются, но хорошо подходят для развития алгоритмического мышления. Это языки, у которых «отсутствует синтаксис», поэтому они не искажают впечатления об устройстве основных концепций программирования. Ядро Lisp относительно маленькое, но оно хорошо комбинируется — благодаря этому можно решать множество разных задач, используя только базовые конструкции.

Выводы

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

Если важна скорость входа в программирование, стоит подумать в стороны динамических языков. У статических языков программирования есть свои сферы применения, но порог входа в них выше, а некоторые реализации избыточно сложны для новичка. Например, если на JavaScript перевернуть строку можно 10 строчками кода, то в Java их будет больше 100 строчек.

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

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях

Аватар пользователя Oleg Sabitov
Oleg Sabitov 24 декабря 2021
Рекомендуемые программы

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

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
30 июня 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
30 июня 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов веб-приложений
30 июня 10 месяцев
Иконка программы Fullstack-разработчик
Профессия
Новый
Разработка фронтенд и бэкенд компонентов веб-приложений
30 июня 16 месяцев
Иконка программы Верстальщик
Профессия
Вёрстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
30 июня 10 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создает веб-приложения со скоростью света
30 июня 5 месяцев