До 30 ноября

Скидки до 81 000 руб и вторая профессия в подарок!

Главная | Все статьи | Код

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

Время чтения статьи ~3 минуты 5
Как выбрать первый язык программирования главное изображение

Это расшифровка лекции «Как выбрать первый язык программирования» 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
5
Рекомендуемые программы
профессия
Осваивайте разработку веб-страниц, оживляйте дизайн макетов, публикуйте сайты и приложения. Отслеживайте ошибки в интерфейсе и устраняйте их
10 месяцев
с нуля
Старт 21 ноября
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
Выполняйте ручное тестирование веб-приложений, находите ошибки в продукте. Узнайте все о тест-дизайне.
4 месяца
с нуля
Старт 21 ноября
профессия
Научитесь разработке веб-приложений, сайтов и программного обеспечения на языке Java, программируйте и используйте структуры данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября
профессия
Занимайтесь созданием сайтов, веб-приложений, сервисов и их интеграцией с внутренними бизнес-системами на бекенд-языке PHP
10 месяцев
с нуля
Старт 21 ноября
профессия
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 21 ноября
профессия
Обучитесь разработке визуальной части сайта — фронтенда, а также реализации серверной — бэкенда. Освойте HTML, CSS, JavaScript
16 месяцев
с нуля
Старт 21 ноября
профессия
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Организовывайте процесс автоматизации тестирования на проекте, обучитесь языку программирования JavaScript, начните управлять процессом тестирования
8 месяцев
c опытом
Старт 21 ноября