HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-21
1 <p><a>#Руководства</a></p>
1 <p><a>#Руководства</a></p>
2 <ul><li>21 мар 2019</li>
2 <ul><li>21 мар 2019</li>
3 <li>0</li>
3 <li>0</li>
4 </ul><p>Представляем обзор языков программирования для новичков. Как найти себя в мире разработки, в какой сфере эффективнее развиваться.</p>
4 </ul><p>Представляем обзор языков программирования для новичков. Как найти себя в мире разработки, в какой сфере эффективнее развиваться.</p>
5 <p> vlada_maestro / shutterstock</p>
5 <p> vlada_maestro / shutterstock</p>
6 <p>Делает из вебинаров статьи, пишет про все и даже немного больше.</p>
6 <p>Делает из вебинаров статьи, пишет про все и даже немного больше.</p>
7 <p>ВРЕМЯ ПРОСМОТРА</p>
7 <p>ВРЕМЯ ПРОСМОТРА</p>
8 <p><strong><strong>1 ч. 49 мин.</strong></strong></p>
8 <p><strong><strong>1 ч. 49 мин.</strong></strong></p>
9 <p>Часто их называют языками программирования, но это не верно. Это язык разметки и таблица стилей, с помощью которых верстается страница. Все сайты используют HTML и CSS. Прелесть технологий - в их простоте: их легко освоить на среднем уровне за 2-3 недели. Если вам интересно работать в интернете - попробуйте.</p>
9 <p>Часто их называют языками программирования, но это не верно. Это язык разметки и таблица стилей, с помощью которых верстается страница. Все сайты используют HTML и CSS. Прелесть технологий - в их простоте: их легко освоить на среднем уровне за 2-3 недели. Если вам интересно работать в интернете - попробуйте.</p>
10 <p>Один из самых популярных языков для работы с сайтами. До сих пор использование этой технологии - едва ли не единственный способ сделать страницу интерактивной, заставить сайт реагировать на действия пользователя. Изначально JS создавали специально для веб-разработки, но сейчас с его помощью можно делать очень многое:</p>
10 <p>Один из самых популярных языков для работы с сайтами. До сих пор использование этой технологии - едва ли не единственный способ сделать страницу интерактивной, заставить сайт реагировать на действия пользователя. Изначально JS создавали специально для веб-разработки, но сейчас с его помощью можно делать очень многое:</p>
11 <ul><li>серверные и консольные приложения;</li>
11 <ul><li>серверные и консольные приложения;</li>
12 <li>игры и сервисы для мобильных;</li>
12 <li>игры и сервисы для мобильных;</li>
13 <li>программы для десктопа.</li>
13 <li>программы для десктопа.</li>
14 </ul><p>Этот язык быстро развивается, востребован на фрилансе. Часто именно JS рекомендуют в ответ на вопрос, какой язык программирования выбрать для быстрого старта. Его легко освоить.</p>
14 </ul><p>Этот язык быстро развивается, востребован на фрилансе. Часто именно JS рекомендуют в ответ на вопрос, какой язык программирования выбрать для быстрого старта. Его легко освоить.</p>
15 <ul><li>Неявная типизация. Когда разработчик пишет код, он использует переменные - строки, числа и прочее. В языках со строгой типизацией программисту приходится объявлять тип переменных - сообщать обработчику, что это, например, число или строка. В языках с неявной типизацией обработчик "понимает" это сам. С одной стороны, это плюс - код пишется быстрее. С другой стороны - минус, потому что новички часто ошибаются и создают операции для переменных с разными типами данных. Например, в коде порой встречается суммирование чисел и слов. Это довольно формальное объяснение, на самом деле всё сложнее. Подробнее вы поймете эти особенности после старта обучения.</li>
15 <ul><li>Неявная типизация. Когда разработчик пишет код, он использует переменные - строки, числа и прочее. В языках со строгой типизацией программисту приходится объявлять тип переменных - сообщать обработчику, что это, например, число или строка. В языках с неявной типизацией обработчик "понимает" это сам. С одной стороны, это плюс - код пишется быстрее. С другой стороны - минус, потому что новички часто ошибаются и создают операции для переменных с разными типами данных. Например, в коде порой встречается суммирование чисел и слов. Это довольно формальное объяснение, на самом деле всё сложнее. Подробнее вы поймете эти особенности после старта обучения.</li>
16 <li>Малонадёжность - JS не используют в сверхсложном ПО, разрабатывать банковские или промышленные продукты на нем не получится.</li>
16 <li>Малонадёжность - JS не используют в сверхсложном ПО, разрабатывать банковские или промышленные продукты на нем не получится.</li>
17 </ul><ul><li>редактор кода или IDE (среда разработки): Notepad++, Sublime Text, WebStorm;</li>
17 </ul><ul><li>редактор кода или IDE (среда разработки): Notepad++, Sublime Text, WebStorm;</li>
18 <li>отладчик: браузер, Firebug;</li>
18 <li>отладчик: браузер, Firebug;</li>
19 <li>среда исполнения для серверного ПО: NodeJS + менеджер пакетов npm.</li>
19 <li>среда исполнения для серверного ПО: NodeJS + менеджер пакетов npm.</li>
20 </ul><p>Разрабатывать удобно в редакторе кода - он подсвечивает синтаксис и подсказывает нужное написание. Отладка, или пошаговое исполнение программы, в JS происходит в DevTools браузера, дополнительное ПО необязательно.</p>
20 </ul><p>Разрабатывать удобно в редакторе кода - он подсвечивает синтаксис и подсказывает нужное написание. Отладка, или пошаговое исполнение программы, в JS происходит в DevTools браузера, дополнительное ПО необязательно.</p>
21 Пример синтаксиса JavaScript - обработка формы входа<p>Не забывайте о библиотеках и фреймворках. Это компоненты, из которых собирается программа. Для упрощения понимания: представьте строительство дома. Вы не создаете с нуля каждый кирпич, не делаете сами молоток, а пользуетесь готовыми инструментами и материалами. В случае с программированием - делаете программу из компонентов библиотеки или фреймворка.</p>
21 Пример синтаксиса JavaScript - обработка формы входа<p>Не забывайте о библиотеках и фреймворках. Это компоненты, из которых собирается программа. Для упрощения понимания: представьте строительство дома. Вы не создаете с нуля каждый кирпич, не делаете сами молоток, а пользуетесь готовыми инструментами и материалами. В случае с программированием - делаете программу из компонентов библиотеки или фреймворка.</p>
22 <p><strong>Не торопитесь вникнуть во все технологии сразу. Начинаете с нуля - используйте чистый язык и разбирайтесь в принципах программирования.</strong></p>
22 <p><strong>Не торопитесь вникнуть во все технологии сразу. Начинаете с нуля - используйте чистый язык и разбирайтесь в принципах программирования.</strong></p>
23 <ul><li>для десктопных программ: Electron и AppJS;</li>
23 <ul><li>для десктопных программ: Electron и AppJS;</li>
24 <li>популярные фреймворки и библиотеки: jQuery, AngularJS, ReactJS, Ember;</li>
24 <li>популярные фреймворки и библиотеки: jQuery, AngularJS, ReactJS, Ember;</li>
25 <li>JSON - популярный формат передачи структурированных данных;</li>
25 <li>JSON - популярный формат передачи структурированных данных;</li>
26 <li>MongoDB - документо-ориентированная база данных для JS-процедур.</li>
26 <li>MongoDB - документо-ориентированная база данных для JS-процедур.</li>
27 </ul><p>На этом языке делают серверную часть в вебе. Он абсолютный чемпион - 80% сайтов написано с помощью PHP. На нем сделаны популярные CMS: Битрикс, WordPress, Joomla.</p>
27 </ul><p>На этом языке делают серверную часть в вебе. Он абсолютный чемпион - 80% сайтов написано с помощью PHP. На нем сделаны популярные CMS: Битрикс, WordPress, Joomla.</p>
28 <p>Когда отправляете фото в "Инстаграм*" или другие данные на любой сайт, сервер должен их принять, обработать и вернуть обратно результат. Именно этим и занимается PHP.</p>
28 <p>Когда отправляете фото в "Инстаграм*" или другие данные на любой сайт, сервер должен их принять, обработать и вернуть обратно результат. Именно этим и занимается PHP.</p>
29 <ul><li>неявная типизация - легко писать код, но снижается надежность;</li>
29 <ul><li>неявная типизация - легко писать код, но снижается надежность;</li>
30 <li>практически не нужны сторонние библиотеки - с помощью встроенных функций легко реализовать почти все возможные задачи.</li>
30 <li>практически не нужны сторонние библиотеки - с помощью встроенных функций легко реализовать почти все возможные задачи.</li>
31 </ul><ul><li>по мнению многих разработчиков, библиотека функций организована неудобно и нелогично, легко запутаться в синтаксисе;</li>
31 </ul><ul><li>по мнению многих разработчиков, библиотека функций организована неудобно и нелогично, легко запутаться в синтаксисе;</li>
32 <li>очень много некачественного кода, доступного в интернете, - легко наткнуться на ошибки в советах и готовых решениях.</li>
32 <li>очень много некачественного кода, доступного в интернете, - легко наткнуться на ошибки в советах и готовых решениях.</li>
33 </ul><ul><li>текстовый редактор или IDE: PhpStorm, Notepad++, Sublime Text;</li>
33 </ul><ul><li>текстовый редактор или IDE: PhpStorm, Notepad++, Sublime Text;</li>
34 <li>базы данных: MySQL, PostgreSQL;</li>
34 <li>базы данных: MySQL, PostgreSQL;</li>
35 <li>No-SQL хранилища: Memcached, Redis, MongoDB;</li>
35 <li>No-SQL хранилища: Memcached, Redis, MongoDB;</li>
36 <li>отладчик: XDebug;</li>
36 <li>отладчик: XDebug;</li>
37 <li>профайлер: XHProf - подскажет, какая функция сколько времени исполняется;</li>
37 <li>профайлер: XHProf - подскажет, какая функция сколько времени исполняется;</li>
38 <li>фреймворки: Symphony, Yii, Laravel;</li>
38 <li>фреймворки: Symphony, Yii, Laravel;</li>
39 <li>менеджер пакетов: Composer.</li>
39 <li>менеджер пакетов: Composer.</li>
40 </ul><p>Прогресс будет быстрее, если вы найдете ментора или курсы. Как и в любом языке, в PHP есть сложные для освоения тонкости, которые лучше постигать с поддержкой.</p>
40 </ul><p>Прогресс будет быстрее, если вы найдете ментора или курсы. Как и в любом языке, в PHP есть сложные для освоения тонкости, которые лучше постигать с поддержкой.</p>
41 Пример синтаксиса на PHP - страница с демонстрацией новостей из базы данных<p>Синтаксис этого языка легко освоить, есть подробная документация с описаниями решений популярных задач, поэтому его часто выбирают в качестве первого языка. Новичку будет проще с поиском работы: на фрилансе и сайтах с вакансиями много предложений для соискателей с минимальным опытом.</p>
41 Пример синтаксиса на PHP - страница с демонстрацией новостей из базы данных<p>Синтаксис этого языка легко освоить, есть подробная документация с описаниями решений популярных задач, поэтому его часто выбирают в качестве первого языка. Новичку будет проще с поиском работы: на фрилансе и сайтах с вакансиями много предложений для соискателей с минимальным опытом.</p>
42 <p>Это популярный язык, на котором можно писать сайты, - и в этом он соперничает с PHP. Но намного интереснее с помощью Python заниматься анализом данных и машинным обучением. Хотите развивать искусственный интеллект - попробуйте его.</p>
42 <p>Это популярный язык, на котором можно писать сайты, - и в этом он соперничает с PHP. Но намного интереснее с помощью Python заниматься анализом данных и машинным обучением. Хотите развивать искусственный интеллект - попробуйте его.</p>
43 <p><strong>Для начинающего -<a>от 35 тысяч рублей</a>. Средний уровень -<a>от 80 тысяч</a>. Специалист с опытом от трех лет -<a>90-210 тысяч рублей</a>. Если понимать в математике и разбираться в нейросетях, доход будет выше.</strong></p>
43 <p><strong>Для начинающего -<a>от 35 тысяч рублей</a>. Средний уровень -<a>от 80 тысяч</a>. Специалист с опытом от трех лет -<a>90-210 тысяч рублей</a>. Если понимать в математике и разбираться в нейросетях, доход будет выше.</strong></p>
44 <p>Язык легко освоить, у него удобный и понятный синтаксис, масса полезных библиотек и готовых решений.</p>
44 <p>Язык легко освоить, у него удобный и понятный синтаксис, масса полезных библиотек и готовых решений.</p>
45 <ul><li>Частичная поддержка многопоточности. Суть в том, что программы работают не последовательно, а параллельно, с помощью нескольких ядер. К сожалению, поддержка не полноценная, многих возможностей нет.</li>
45 <ul><li>Частичная поддержка многопоточности. Суть в том, что программы работают не последовательно, а параллельно, с помощью нескольких ядер. К сожалению, поддержка не полноценная, многих возможностей нет.</li>
46 <li>Значительно ускоряется, если использовать Cython. Это язык внутри языка, его используют для улучшения производительности. Поэтому фактически приходится учить два разных синтаксиса и разбираться, как они взаимодействуют друг с другом.</li>
46 <li>Значительно ускоряется, если использовать Cython. Это язык внутри языка, его используют для улучшения производительности. Поэтому фактически приходится учить два разных синтаксиса и разбираться, как они взаимодействуют друг с другом.</li>
47 </ul><ul><li>Две актуальные версии - вторая и третья. Проблема в том, что библиотеки от одной версии не подходят к другой. Можно столкнуться с несовместимостью кода.</li>
47 </ul><ul><li>Две актуальные версии - вторая и третья. Проблема в том, что библиотеки от одной версии не подходят к другой. Можно столкнуться с несовместимостью кода.</li>
48 <li>Неявная типизация. Уже знакомая вам проблема.</li>
48 <li>Неявная типизация. Уже знакомая вам проблема.</li>
49 <li>Низкая производительность. Многие задачи язык выполняет медленно, много времени разработчик тратит на оптимизацию кода.</li>
49 <li>Низкая производительность. Многие задачи язык выполняет медленно, много времени разработчик тратит на оптимизацию кода.</li>
50 </ul><ul><li>IDE: Pycharm;</li>
50 </ul><ul><li>IDE: Pycharm;</li>
51 <li>Cython-синтаксис: для написания компилируемого кода;</li>
51 <li>Cython-синтаксис: для написания компилируемого кода;</li>
52 <li>анализ данных: iPython / jupyter, Anaconda, Matplotlib, Numpy;</li>
52 <li>анализ данных: iPython / jupyter, Anaconda, Matplotlib, Numpy;</li>
53 <li>нейросети: Scikit-learn, Keras, Tensorflow;</li>
53 <li>нейросети: Scikit-learn, Keras, Tensorflow;</li>
54 <li>веб-разработка: Django, Tornado, Flask;</li>
54 <li>веб-разработка: Django, Tornado, Flask;</li>
55 <li>менеджер зависимостей: pip, conda.</li>
55 <li>менеджер зависимостей: pip, conda.</li>
56 </ul><p>Обратите внимание: разработчики часто спорят, нужна ли для программирования математика. Разбираться в ней полезно. Но обязательна она только там, где вы разрабатываете что-то для математиков. Если вы создаете сайт, например, про собак, то формулы вам вряд ли пригодятся - скорее, лучше выучить JavaScript с PHP и узнать побольше о собаках.</p>
56 </ul><p>Обратите внимание: разработчики часто спорят, нужна ли для программирования математика. Разбираться в ней полезно. Но обязательна она только там, где вы разрабатываете что-то для математиков. Если вы создаете сайт, например, про собак, то формулы вам вряд ли пригодятся - скорее, лучше выучить JavaScript с PHP и узнать побольше о собаках.</p>
57 Пример синтаксиса Python - программа предсказывает ваш факультет в Хогвартсе<p>Консервативный и надежный язык, который подходит для разработки под любые платформы. Пожалуйста, не путайте его с JavaScript - это абсолютно разные технологии, и между ними нет ничего общего.</p>
57 Пример синтаксиса Python - программа предсказывает ваш факультет в Хогвартсе<p>Консервативный и надежный язык, который подходит для разработки под любые платформы. Пожалуйста, не путайте его с JavaScript - это абсолютно разные технологии, и между ними нет ничего общего.</p>
58 <p>На Java разрабатывают десктопные программы, приложения под Android, серверные конструкции и масштабные промышленные и банковские системы. Достаточно сложный в освоении язык.</p>
58 <p>На Java разрабатывают десктопные программы, приложения под Android, серверные конструкции и масштабные промышленные и банковские системы. Достаточно сложный в освоении язык.</p>
59 <p>Синтаксис простой и понятный. Методология языка - классическое объектно-ориентированное программирование. Работает на всех операционных системах. На Java можно написать ПО любой сложности - от небольшой утилиты до комплекса с миллионами строк. Кстати, если хотите писать для Android - приложения на нем делают только на Java.</p>
59 <p>Синтаксис простой и понятный. Методология языка - классическое объектно-ориентированное программирование. Работает на всех операционных системах. На Java можно написать ПО любой сложности - от небольшой утилиты до комплекса с миллионами строк. Кстати, если хотите писать для Android - приложения на нем делают только на Java.</p>
60 <ul><li>Разработка на Java подразумевает высокий уровень абстракции. С одной стороны, такое ПО легче поддерживать и развивать. С другой - типовые и простые вещи требуют бОльших усилий. Сравните: на PHP для чтения файла по ссылке нужна одна строчка кода. На Java придется написать пять-десять строк.</li>
60 <ul><li>Разработка на Java подразумевает высокий уровень абстракции. С одной стороны, такое ПО легче поддерживать и развивать. С другой - типовые и простые вещи требуют бОльших усилий. Сравните: на PHP для чтения файла по ссылке нужна одна строчка кода. На Java придется написать пять-десять строк.</li>
61 <li>Строгость языка. Это надежно, отсутствуют неявные конструкции, нет упрощений. С другой стороны, код очень громоздкий. Представьте, что вы продаете машину. Если говорить просто, то выйдет что-то вроде: "Вот машина. Вася продал ее Пете. Петя отдал деньги Васе". На Java все то же самое придется написать в форме договора купли-продажи - когда отдают деньги, где что в машине, какие номера двигателя, корпуса. Плюс еще масса данных. Так, чтобы не было многозначности.</li>
61 <li>Строгость языка. Это надежно, отсутствуют неявные конструкции, нет упрощений. С другой стороны, код очень громоздкий. Представьте, что вы продаете машину. Если говорить просто, то выйдет что-то вроде: "Вот машина. Вася продал ее Пете. Петя отдал деньги Васе". На Java все то же самое придется написать в форме договора купли-продажи - когда отдают деньги, где что в машине, какие номера двигателя, корпуса. Плюс еще масса данных. Так, чтобы не было многозначности.</li>
62 <li>Высокий порог вхождения: синтаксис прост, примеров много, но общие принципы понять сложно. Придется очень много учиться и практиковаться. Но и возможности в итоге получите практически безграничные.</li>
62 <li>Высокий порог вхождения: синтаксис прост, примеров много, но общие принципы понять сложно. Придется очень много учиться и практиковаться. Но и возможности в итоге получите практически безграничные.</li>
63 </ul><ul><li>IDE: Eclipse, Netbeans, IntelliJIDEA, AndroidStudio;</li>
63 </ul><ul><li>IDE: Eclipse, Netbeans, IntelliJIDEA, AndroidStudio;</li>
64 <li>среда выполнения: JVM (Java Virtual Machine);</li>
64 <li>среда выполнения: JVM (Java Virtual Machine);</li>
65 <li>фреймворк: Spring, Swing, Hibernate, OrmLite (для Android);</li>
65 <li>фреймворк: Spring, Swing, Hibernate, OrmLite (для Android);</li>
66 <li>инструменты для Android: SDK Manager, Android Emulator (эмуляторы ОС разных версий);</li>
66 <li>инструменты для Android: SDK Manager, Android Emulator (эмуляторы ОС разных версий);</li>
67 <li>базы данных: Oracle, MySQL и любые другие;</li>
67 <li>базы данных: Oracle, MySQL и любые другие;</li>
68 <li>менеджер зависимостей: Grandle, Ant, Maven.</li>
68 <li>менеджер зависимостей: Grandle, Ant, Maven.</li>
69 </ul><p>Может показаться, что для сложного языка нужен особый талант. На самом деле ключевое - ваше желание, интерес и усердие. Никто не ценит способности в вакууме. Важно, насколько далеко вы продвинулись в обучении за последний месяц или год. Если есть интерес и желание, всё получится.</p>
69 </ul><p>Может показаться, что для сложного языка нужен особый талант. На самом деле ключевое - ваше желание, интерес и усердие. Никто не ценит способности в вакууме. Важно, насколько далеко вы продвинулись в обучении за последний месяц или год. Если есть интерес и желание, всё получится.</p>
70 Пример кода на Java - создаем окно с кнопкой<p>Подведем итог:</p>
70 Пример кода на Java - создаем окно с кнопкой<p>Подведем итог:</p>
71 <ul><li>Начните с выбора направления, в котором вам хочется развиваться. Это серверная, веб-разработка, мобильная или десктопная?</li>
71 <ul><li>Начните с выбора направления, в котором вам хочется развиваться. Это серверная, веб-разработка, мобильная или десктопная?</li>
72 <li>Оцените свои силы и навыки: хотите ли взяться для начала за что-то попроще, или сразу готовы попробовать изучить сложный язык?</li>
72 <li>Оцените свои силы и навыки: хотите ли взяться для начала за что-то попроще, или сразу готовы попробовать изучить сложный язык?</li>
73 <li>Определившись с языком, познакомьтесь с фреймворками и базами данных. Но не пытайтесь охватить сразу огромный массив информации - учитесь кодить на "чистом" языке, без библиотек и готовых решений. Когда разберетесь с принципами, освоить дополнительные инструменты будет проще.</li>
73 <li>Определившись с языком, познакомьтесь с фреймворками и базами данных. Но не пытайтесь охватить сразу огромный массив информации - учитесь кодить на "чистом" языке, без библиотек и готовых решений. Когда разберетесь с принципами, освоить дополнительные инструменты будет проще.</li>
74 </ul>Изучите карту языков программирования для новичков и выбирайте<p>Если вас тошнит от любой технологии и не можете себя заставить написать код или разобраться с задачкой - остановитесь и займитесь чем-то еще. Если же у вас горят глаза и вы не можете уснуть, потому что хотите написать программу, - продолжайте. Попробуйте все языки, остановитесь на том, который интереснее. Если получится понять один, разобраться в синтаксисе другого уже не проблема. Главное - продолжайте учиться, больше пишите кода, систематизируйте знания на курсах. Вы сможете.</p>
74 </ul>Изучите карту языков программирования для новичков и выбирайте<p>Если вас тошнит от любой технологии и не можете себя заставить написать код или разобраться с задачкой - остановитесь и займитесь чем-то еще. Если же у вас горят глаза и вы не можете уснуть, потому что хотите написать программу, - продолжайте. Попробуйте все языки, остановитесь на том, который интереснее. Если получится понять один, разобраться в синтаксисе другого уже не проблема. Главное - продолжайте учиться, больше пишите кода, систематизируйте знания на курсах. Вы сможете.</p>
75 <p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности.</p>
75 <p>* Решением суда запрещена "деятельность компании Meta Platforms Inc. по реализации продуктов - социальных сетей Facebook и Instagram на территории Российской Федерации по основаниям осуществления экстремистской деятельности.</p>
76 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>
76 <a><b>Бесплатный курс по Python ➞</b>Мини-курс для новичков и для опытных кодеров. 4 крутых проекта в портфолио, живое общение со спикером. Кликните и узнайте, чему можно научиться на курсе. Смотреть программу</a>