
Языки программирования бывают самыми разными, и просто с ходу ответить, какой из них лучше остальных и какой вам сразу же стоит учить – нельзя, потому что сам вопрос поставлен некорректно: во-первых, серьезное программирование нередко предполагает использование нескольких языков/фреймворков (расширений для языка); во-вторых, «лучший» язык во многом зависит от того, в какой сфере вы хотите работать; в-третьих, через год все может поменяться, и популярный на данный момент язык начнет «скатываться». Вместо того, чтобы составлять какие-либо ТОПы сомнительной полезности, мы возьмем основные языки программирования для каждой сферы и составим список по значимости.

Мы предполагаем, что раз вы задаетесь вопросом о различии в ЯП – значит, вы знаете о них довольно мало. А раз так, то сначала нужно устроить небольшой ликбез.
Язык программирования – это язык, на котором программист говорит компьютеру о том, что нужно что-то сделать. На первых порах зарождения программирования эту формулировка действовала буквально: программисты на перфокартах дырявили нужные области, по которым компьютер понимал, что нужно взять вот такое вот значение из какой-то области памяти, сложить его со значением из другой области памяти и на ленте бумаги напечатать результат этого сложения.
Сейчас перфокарты, как и прямая работа с «железом», отошли в прошлое, но общий принцип остался тем же: с помощью языка программирования мы описываем некоторые действия, которые компьютер должен совершить для достижения определенного результата.Языки бывают разными, и на то есть 3 причины: историческая; коммерческая; практическая. Историческая причина разделения языков: «я художник, я так вижу». Все языки программирования, которые существуют сейчас, возникли по той причине, что где-то кого-то когда-то не устраивало качество существующих языков. Линус Торвальдс, разработчик операционной системы Linux, взял язык C в основу операционной системы потому, что его не устраивали другие языки программирования. А разработчики языка C создали его потому, что их не устраивал существовавший на тот момент язык B. Коммерческая причина разделения языков – в том, что крупные компании заинтересованы в развитии «своих» ЯП. Apple решила, что ее программисты должны быть особенными, и вместо устоявшейся на тот момент Java заставила «своих» программистов работать на Swift; Google поощряет разработку на Go и так далее. Практическая причина разделения языков состоит в том, что некоторые языки «заточены» под ту или иную работу: C/C++/Rust незаменимы для разработки операционных систем и высоконагруженных приложений, PHP/Ruby/Python отлично справляются с серверной частью web-разработки, Java вообще старается покрыть все сферы программирования.
Если есть разделение языков, то было бы неплохо ввести какую-нибудь их классификацию. И здесь начинаются большие проблемы, потому что ЯП – тема довольно обширная, и классификаций может быть несколько. Основные:
Именно по последней категоризации мы и будем в дальнейшем рассматривать языки, потому что от нее зависит, какой язык лучше выбрать для изучения: если вы хотите разрабатывать игры, вам лучше начать с такого-то языка (C#), если хотите делать фронтенд – с такого-то (JavaScript).Web-разработка – понятие очень широкое, потому что оно включает в себя сайты, приложения и серверы. Кроме того, для сайтов и приложений есть разделение на фронтенд (внешний вид сайта/приложения) и бэкенд (внутренняя логика работы). Составим небольшую таблицу:
Фронтенд | Бэкенд | |
Сайты | JavaScript | JavaScript, PHP, Python, Ruby, Go |
Приложения | Тот язык, на котором написан бэкенд | Java, C#, Python, Swift |
Если вы собираетесь создавать внешнюю оболочку для сайтов, ваш однозначный выбор – JavaScript. Это – единственный язык, который нативно поддерживается всеми браузерами. В нагрузку вам желательно знать HTML и CSS – языки, которые рассказывают браузеру, где должны располагаться блоки и как они должны выглядеть.
Если вы хотите создавать внутреннюю логику сайтов, то выбор у вас более большой:
С приложениями все проще – обычно бэкенд и фронтенд написаны на одном языке. Лидер здесь – Java, его постоянно пытается догнать C#. Python не так сильно востребован, потому что имеет проблемы с производительностью. Swift – для разработки мобильных приложений под iOS.
И да, во всех случаях вам нужно будет учить SQL.Здесь есть 4 варианта:
C# – выбор тех, кто хочет создавать игры на Unity. C++ нужен тем, кто хочет создавать игры на Unreal Engine. Java – для игр на Android, Swift – для игр на iOS. Во всех случаях язык – это не главное (по крайней мере, на первых порах). Игры разрабатываются не с нуля, а на определенном движке – в 99% случаев это Unity или UE.
И у этих движков есть как много функционала, так и много багов – это вам и стоит учить в первую очередь, а язык вы выучите в процессе.Системное программирование сейчас имеет 2 значения: разработка системных (не-прикладных) приложений и создание системного окружения разработки (CI/CD, Infrastructure as a Code и другие DevOps-практики). В первом случае вам нужны низкоуровневые языки программирования: C, C++, Rust. Во втором случае вам нужны языки для создания скриптов: Bash, Windows PowerShell, Python, Go. Лидируют здесь Python и Bash.
И да, здесь SQL вам тоже понадобится.Сисадминам обязательно нужно знать языки командных строк: Bash (Linux), Microsoft PowerShell (Windows Server). Поскольку большинство сисадминов «перекатывается» в DevOps, вам желательно знать скриптовый язык: Python, Go. Технически скрипты можно писать и на Bash/PowerShell, но написание сложных скриптов превратится в пытку. Дополнительно системным администраторам желательно знать YAML, в обязательном порядке нужно знать SQL.
Тестирование обычно проводится на том языке, на котором написано приложение. Для автоматизированного тестирования часто применяются Python и Java, хотя любой более-менее крупный язык имеет свои собственные фреймворки для автоматизированного тестирования.
SQL тестировщики должны знать обязательно.В различных подборках можно встретить откровенно устаревшие или очень узкоспецифичные языки, которые на самом деле учить не стоит. К таким языкам можно отнести:

Язык | Где используется | Насколько сложен |
JavaScript | Фронтенд и бэкенд на сайтах | 3/10 |
PHP | Бэкенд на сайтах | 5/10 |
Python | В основном – серверы и Big Data | 2/10 |
Go | Серверная часть сайтов | 3/10 |
Ruby | Серверная часть сайтов | 6/10 |
HTML/CSS | Фронтенд на сайтах, иногда – в приложениях | 1/10 |
YAML | Системное администрирование | 0/10 |
Java | Практически везде | 5/10 |
C# | Серверная часть сайтов и приложений, разработка игр | 5/10 |
C | Операционные системы, высоконагруженные приложения (в виде вставок кода для оптимизации) | 9/10 |
C++ | Операционные системы, высоконагруженные приложения, игры | 8/10 |
Rust | Операционные системы | 8/10 |
Swift | Разработка под iOS | 5/10 |
Bash | Скрипты для UNIX-систем | 1/10 |
PowerShell | Скрипты для Windows-систем | 1/10 |
SQL | Везде, где нужно хранить данные (кроме разработки игр) | 2/10 |
Школа |
Нетология |
Стоимость |
146 500 руб |
Цена в рассрочку |
4 282 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
86 425 руб |
Цена в рассрочку |
3 457 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Школа |
ProductStar |
Стоимость |
112 752 руб |
Цена в рассрочку |
5 220 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Онлайн занятия с преподавателем, Запись лекций |
Школа |
Нетология |
Стоимость |
127 500 руб |
Цена в рассрочку |
3 936 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
96 849 руб |
Цена в рассрочку |
4 402 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillfactory |
Стоимость |
132 840 руб |
Цена в рассрочку |
3 690 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
108 500 руб |
Цена в рассрочку |
3 172 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
86 425 руб |
Цена в рассрочку |
3 457 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Школа |
ProductStar |
Стоимость |
63 000 руб |
Цена в рассрочку |
2 917 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
103 100 руб |
Цена в рассрочку |
3 182 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Яндекс Практикум |
Стоимость |
123 200 руб |
Цена в рассрочку |
20 500 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Бруноям |
Стоимость |
69 900 руб |
Цена в рассрочку |
5 825 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Хекслет |
Стоимость |
59 500 руб |
Цена в рассрочку |
3 396 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
146 500 руб |
Цена в рассрочку |
4 282 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
105 392 руб |
Цена в рассрочку |
4 791 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Школа |
ProductStar |
Стоимость |
112 752 руб |
Цена в рассрочку |
5 220 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Онлайн занятия с преподавателем, Запись лекций |
Школа |
Нетология |
Стоимость |
81 300 руб |
Цена в рассрочку |
3 762 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
78 943 руб |
Цена в рассрочку |
3 588 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
ProductStar |
Стоимость |
19 900 руб |
Цена в рассрочку |
0 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций |
Школа |
Нетология |
Стоимость |
108 800 руб |
Цена в рассрочку |
3 180 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
86 425 руб |
Цена в рассрочку |
3 457 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Школа |
ProductStar |
Стоимость |
117 763 руб |
Цена в рассрочку |
5 452 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Онлайн занятия с преподавателем, Запись лекций |
Школа |
Нетология |
Стоимость |
91 200 руб |
Цена в рассрочку |
3 998 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
83 800 руб |
Цена в рассрочку |
2 703 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций |
Школа |
Eduson Academy |
Стоимость |
115 000 руб |
Цена в рассрочку |
4 791 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Онлайн занятия с преподавателем, Запись лекций |
Школа |
Нетология |
Стоимость |
110 900 руб |
Цена в рассрочку |
3 422 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
107 208 руб |
Цена в рассрочку |
4 288 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Eduson Academy |
Стоимость |
123 500 руб |
Цена в рассрочку |
5 416 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
99 000 руб |
Цена в рассрочку |
3 055 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Eduson Academy |
Стоимость |
115 000 руб |
Цена в рассрочку |
4 791 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Яндекс Практикум |
Стоимость |
125 200 руб |
Цена в рассрочку |
18 500 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Нетология |
Стоимость |
40 200 руб |
Цена в рассрочку |
2 353 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Skillbox |
Стоимость |
453 600 руб |
Цена в рассрочку |
0 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Есть |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
Школа |
Яндекс Практикум |
Стоимость |
53 600 руб |
Цена в рассрочку |
14 400 руб/мес |
Длительность курса |
|
Программа трудоустройства |
Отсутствует |
Формат |
Запись лекций, Онлайн занятия с преподавателем |
SQL – это структурированный язык запросов, который используется в базах данных. Язык нужен практически везде, но выучить его просто, в худшем случае у вас уйдет неделя.
Python – его выучить проще всего, при этом на нем можно писать очень сложные вещи.
Тезисно: