HTML Diff
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>