0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p><strong>Это расшифровка лекции<a>"Как выбрать первый язык программирования"</a>CEO Хекслета Кирилла Мокевнина о том, что действительно важно при выборе языка программирования и с чего можно начать обучение. Пересказываем главные идеи c небольшими дополнениями.</strong></p>
1
<p><strong>Это расшифровка лекции<a>"Как выбрать первый язык программирования"</a>CEO Хекслета Кирилла Мокевнина о том, что действительно важно при выборе языка программирования и с чего можно начать обучение. Пересказываем главные идеи c небольшими дополнениями.</strong></p>
2
<h2>Содержание</h2>
2
<h2>Содержание</h2>
3
<ul><li><a>С чего начать</a></li>
3
<ul><li><a>С чего начать</a></li>
4
<li><a>Какие подходы к выбору первого языка существуют</a></li>
4
<li><a>Какие подходы к выбору первого языка существуют</a></li>
5
<li><a>Выводы</a></li>
5
<li><a>Выводы</a></li>
6
</ul><h2>С чего начать</h2>
6
</ul><h2>С чего начать</h2>
7
<p>Сам по себе язык для новичка вторичен, а его главная задача - не научить плохому и не мешать процессу обучения. Изучение программирования можно сравнить с изучением английского языка. Недостаточно знать отдельные слова, чтобы уметь складывать из них предложения. В программировании важнее уметь мыслить алгоритмически, чем знать синтаксис конкретного языка.</p>
7
<p>Сам по себе язык для новичка вторичен, а его главная задача - не научить плохому и не мешать процессу обучения. Изучение программирования можно сравнить с изучением английского языка. Недостаточно знать отдельные слова, чтобы уметь складывать из них предложения. В программировании важнее уметь мыслить алгоритмически, чем знать синтаксис конкретного языка.</p>
8
<p>Рассмотрим пример: новичку, который выучил основы языка программирования, нужно алгоритмически посчитать, сколько раз в тексте встречается каждое слово. Скорее всего, решить эту задачу будет сложно - нужно понимать, как подойти к ней, как производить вычисления и пошагово двигаться к результату. Для этого и нужно алгоритмическое мышление.</p>
8
<p>Рассмотрим пример: новичку, который выучил основы языка программирования, нужно алгоритмически посчитать, сколько раз в тексте встречается каждое слово. Скорее всего, решить эту задачу будет сложно - нужно понимать, как подойти к ней, как производить вычисления и пошагово двигаться к результату. Для этого и нужно алгоритмическое мышление.</p>
9
<p>Кроме того, в основе почти всех языков программирования лежат одинаковые концепции, а их базовые конструкции за редким исключением идентичны. Ядро каждого языка программирования - переменные, константы, функции, циклы, рекурсии и конструкции из базовой алгебры. Эти сущности присутствуют в каждом языке.</p>
9
<p>Кроме того, в основе почти всех языков программирования лежат одинаковые концепции, а их базовые конструкции за редким исключением идентичны. Ядро каждого языка программирования - переменные, константы, функции, циклы, рекурсии и конструкции из базовой алгебры. Эти сущности присутствуют в каждом языке.</p>
10
<p>Как только ядро освоено, можно переходить к работе с<a>коллекциями</a>и<a>агрегатными функциями</a>. Стоить учиться решать задачи с ними вне зависимости от спецификаций конкретного языка программирования: воспроизводить решение сначала в псевдокоде, а затем - в конкретном языке.</p>
10
<p>Как только ядро освоено, можно переходить к работе с<a>коллекциями</a>и<a>агрегатными функциями</a>. Стоить учиться решать задачи с ними вне зависимости от спецификаций конкретного языка программирования: воспроизводить решение сначала в псевдокоде, а затем - в конкретном языке.</p>
11
<h2>Какие подходы к выбору первого языка существуют</h2>
11
<h2>Какие подходы к выбору первого языка существуют</h2>
12
<p>Только после того, как все перечисленные этапы пройдены, нужно принимать решение о выборе первого языка программирования. Существует две стратегии:</p>
12
<p>Только после того, как все перечисленные этапы пройдены, нужно принимать решение о выборе первого языка программирования. Существует две стратегии:</p>
13
<ol><li><p><strong>Ресурсы ограничены и сменить работу нужно как можно скорее.</strong>В этом случае стоит посмотреть, какие языки программирования в вашем регионе упоминаются в вакансиях чаще всего. В последние два года в их список входят PHP, Python, Ruby и Javascript. Все это - динамические языки, которые используются в прикладной разработке. Их изучение - вероятно, самый простой вход в индустрию.</p>
13
<ol><li><p><strong>Ресурсы ограничены и сменить работу нужно как можно скорее.</strong>В этом случае стоит посмотреть, какие языки программирования в вашем регионе упоминаются в вакансиях чаще всего. В последние два года в их список входят PHP, Python, Ruby и Javascript. Все это - динамические языки, которые используются в прикладной разработке. Их изучение - вероятно, самый простой вход в индустрию.</p>
14
</li>
14
</li>
15
<li><p><strong>Есть время и хочется разобраться глубже.</strong>Здесь стоит присмотреться к семейству языков Lisp (Common Lisp, Racket, Scheme). Они кардинально отличаются от языков программирования, перечисленных в первом пункте: на практике они редко используются, но хорошо подходят для развития алгоритмического мышления. Это языки, у которых "отсутствует синтаксис", поэтому они не искажают впечатления об устройстве основных концепций программирования. Ядро Lisp относительно маленькое, но оно хорошо комбинируется - благодаря этому можно решать множество разных задач, используя только базовые конструкции.</p>
15
<li><p><strong>Есть время и хочется разобраться глубже.</strong>Здесь стоит присмотреться к семейству языков Lisp (Common Lisp, Racket, Scheme). Они кардинально отличаются от языков программирования, перечисленных в первом пункте: на практике они редко используются, но хорошо подходят для развития алгоритмического мышления. Это языки, у которых "отсутствует синтаксис", поэтому они не искажают впечатления об устройстве основных концепций программирования. Ядро Lisp относительно маленькое, но оно хорошо комбинируется - благодаря этому можно решать множество разных задач, используя только базовые конструкции.</p>
16
</li>
16
</li>
17
</ol><h2>Выводы</h2>
17
</ol><h2>Выводы</h2>
18
<p>Язык программирования накладывает те или иные ограничения на концепции программирования, скрывает или искажает их суть. Некоторые из них могут не только мешать обучению, но и требовать дополнительных знаний.</p>
18
<p>Язык программирования накладывает те или иные ограничения на концепции программирования, скрывает или искажает их суть. Некоторые из них могут не только мешать обучению, но и требовать дополнительных знаний.</p>
19
<p>Если важна скорость входа в программирование, стоит подумать в стороны динамических языков. У статических языков программирования есть свои сферы применения, но порог входа в них выше, а некоторые реализации избыточно сложны для новичка. Например, если на JavaScript перевернуть строку можно 10 строчками кода, то в Java их будет больше 100 строчек.</p>
19
<p>Если важна скорость входа в программирование, стоит подумать в стороны динамических языков. У статических языков программирования есть свои сферы применения, но порог входа в них выше, а некоторые реализации избыточно сложны для новичка. Например, если на JavaScript перевернуть строку можно 10 строчками кода, то в Java их будет больше 100 строчек.</p>
20
<p>Когда вы освоите азы первого языка программирования, стоит дополнить его другим, отличным от текущего, языком. Это поможет понять, как реализации основных концепций программирования могут отличаться от языка к языку.</p>
20
<p>Когда вы освоите азы первого языка программирования, стоит дополнить его другим, отличным от текущего, языком. Это поможет понять, как реализации основных концепций программирования могут отличаться от языка к языку.</p>