Найти в Дзене
МИРОНОВ

Языки программирования после 2020 года

Это статья написана для самых «маленьких», для тех, кто задается вопросом «что лучше выбрать?», а отвечать на этот вопрос в статье я буду, отталкиваясь не от того, что актуально прямо сейчас, а с перспективой того, что будет актуально как минимум в ближайшие 5 лет. Как раз времени сейчас много свободного, курсы многие стали бесплатные – основы почерпнуть на них можно, а дальше уже продолжить изучение самостоятельно. В статье много текста, так что любители читать сидя на горшке могут проходить мимо. Ниже представлен перечень технологий, которыми либо уже активно пользуется общество, либо испытает потребность в этих технологиях в ближайшие годы. Фраза «уже сейчас», означает: 1) что этим уже активно пользуются, 2) уже начинает разрабатываться. На какие технологические решения возникнет спрос до 2030 года? Давайте теперь рассмотрим какие языки лучше всего использовать исходя из нашего списка в той или иной области. Java Java как был так и останется лидером для создания серверных приложе
Оглавление

Это статья написана для самых «маленьких», для тех, кто задается вопросом «что лучше выбрать?», а отвечать на этот вопрос в статье я буду, отталкиваясь не от того, что актуально прямо сейчас, а с перспективой того, что будет актуально как минимум в ближайшие 5 лет. Как раз времени сейчас много свободного, курсы многие стали бесплатные – основы почерпнуть на них можно, а дальше уже продолжить изучение самостоятельно. В статье много текста, так что любители читать сидя на горшке могут проходить мимо.

Ниже представлен перечень технологий, которыми либо уже активно пользуется общество, либо испытает потребность в этих технологиях в ближайшие годы. Фраза «уже сейчас», означает: 1) что этим уже активно пользуются, 2) уже начинает разрабатываться.

На какие технологические решения возникнет спрос до 2030 года?

  1. Веб-разработка (уже сейчас, после AR линз потеряют свою актуальность)
  2. Серверные приложения (уже сейчас)
  3. Прикладное ПО (уже сейчас)
  4. Игры (уже сейчас)
  5. Облачные технологии, Веб-приложения (уже сейчас)
  6. Мобильные приложения (уже сейчас, после AR линз потеряют свою актуальность)
  7. Чат-боты, боты для мессенджеров (уже сейчас))
  8. Контроллеры, Микроконтроллеры, ПЛК (уже сейчас)
  9. RFID (уже сейчас)
  10. Голосовые помощники (уже сейчас)
  11. Робототехника (уже сейчас)
  12. Виртуальная реальность (уже сейчас)
  13. Большие данные (уже сейчас)
  14. Технологии распределенного реестра (массовое использование не раньше 2022)
  15. Машинное обучение и нейронные сети (уже сейчас)
  16. Голографические интерфейсы (после 2027)
  17. Интернет вещей (массовое использование не раньше 2023)

Давайте теперь рассмотрим какие языки лучше всего использовать исходя из нашего списка в той или иной области.

Данная дуга демонстрирует нисходящий тренд таких языков как PHP, JS - это основные языки использующиеся в веб-разработке, сделайте из этого вывод.  Это не значит что прямо завтра они перестанут быть актуальны, но в ближайшие 10 лет точно.
Данная дуга демонстрирует нисходящий тренд таких языков как PHP, JS - это основные языки использующиеся в веб-разработке, сделайте из этого вывод. Это не значит что прямо завтра они перестанут быть актуальны, но в ближайшие 10 лет точно.

Java

  • Серверные приложения
  • Технологии распределенного реестра
  • Прикладное ПО
  • Облачные технологии, Веб-приложения
  • Интернет вещей
  • Чат-боты, боты для мессенджеров
  • Большие данные

Java как был так и останется лидером для создания серверных приложений, Веб-приложений и облачных технологий, тем более их количество должно вырастить в разы. Также Java будет одним из лидеров в написании приложений в сети Мастерчейн и вообще доминировать в блокчейн в целом. На сегодня Java также лидер среди интернет вещей, но надолго ли? Рекомендую к изучению.

На сегодня (2020), доля Java в блокчейн обогнала Python, данная тенденция сохраниться и в будущем.
На сегодня (2020), доля Java в блокчейн обогнала Python, данная тенденция сохраниться и в будущем.

Python

  • Большие данные
  • Машинное обучение
  • Нейронные сети
  • Искусственный интеллект
  • Программирование микроконтроллеров
  • Робототехника
  • Интернет вещей
  • Веб-разработка
  • Технологии распределенного реестра
  • Чат-боты, боты для мессенджеров

Отличный, универсальный язык, как швейцарский нож (ООП+Процедурка), в код можно встраивать фрагменты кода на С/С++, а это увеличивает возможности. Уже не первый год входит в топ 3 языка, используется в самых разных областях, при прямых руках и знаниях можно решить большой спектр задач, даже игру состряпать какую-нибудь при желании с софтиной или мобильное приложение. Рекомендую к изучению.

Как видно на графике, доля Python в реальных проектах растет и будет расти дальше.
Как видно на графике, доля Python в реальных проектах растет и будет расти дальше.

Kotlin

  • Универсальные язык для написания мобильных приложений под iOS, Android, Sailfish OS (ОМП Аврора ОС), HarmonyOS.
если вы не в курсе, то Android приложения совместимы с Sailfish OS (ОМП Аврора ОС), HarmonyOS.

Бизнес заинтересован в дешевой разработке и универсальности продукта – поэтому логично что на рынке разработки мобильных приложений появляется унификация. Зачем содержать несколько групп программистов, когда можно содержать одну? Поэтому если хотите создавать мобильные приложения учите Kotlin.

Если не понравиться Kotlin, как вариант присмотреться к Dart, но учтите что без Flutter, Dart практически не используется, а в перспективы того что Dart захватит мир я лично не верю.

На сегодня (2020), доля Kotlin выросла в 2 раза и составляет минимум 14%
На сегодня (2020), доля Kotlin выросла в 2 раза и составляет минимум 14%

С

  • Программирование контроллеров
  • Программирование микроконтроллеров
  • Программирование программируемых логических контроллеров (ПЛК)
  • Программирование программируемых реле
  • Прикладное ПО
  • Робототехника
  • Интернет вещей
  • Серверные приложения

Почти весь существующий софт был написан на С, на С написаны и ядро Linux и как минимум половина Windows XP с программными компонентами для нее. На сегодня лидером среди основных языков при программировании контроллеров и микроконтроллеров являются C. Забегая вперед, мое ИМХО - С/ C++ также начнут вытеснять FBD и Structured Text среди языков программирования ПЛК, так как они уже устарели.

Ежегодно производиться громадное кол-во ПЛК и каждый раз применяются все новые и новые решения и уже сейчас можно найти на рынке ПЛК, которые поддерживают С/ C++, а что такое ПЛК? ПЛК это и «Умный дом» и «Автоматизация бизнеса» и «Умная энергетика» и т.д.

Наглядная демонстрация где может использоваться "С", а с учетом того что в ближайшие 5 лет даже в автосервисах число "С" программистов вырастит с 0 до №-го числа, я считаю однозначно нужно изучать.
Наглядная демонстрация где может использоваться "С", а с учетом того что в ближайшие 5 лет даже в автосервисах число "С" программистов вырастит с 0 до №-го числа, я считаю однозначно нужно изучать.

С++

  • Прикладное ПО
  • Серверные приложения
  • Разработка игр для ПК и Консолей
  • Разработка игр для мобильных устройств
  • Разработка игр и приложений для VR
  • Разработка игр и приложений для AR
  • Робототехника
  • Интернет вещей

Windows начиная с «Vista» написан на C++ (насчет Windows 10 не знаю, скорее всего там C++/C# ). На сегодня С++ является основным языком при написании современного софта, к примеру компания Abobe использует С++ при разработке своих продуктов. Почти все игры в мире написаны на C++, хотя последние пару лет «Игроделы» отдают свое предпочтение C# , причина – упрощение разработки. Есть перспективы у C++ и в качестве программирования микроконтроллеров.

В данной таблице вы можете видеть абсолютную доминацию языков группы С в ТОП-5. в 2025 этот ТОП-5 никак не измениться. Это ТОП-5 языков которые именно используются в реальных проектах.
В данной таблице вы можете видеть абсолютную доминацию языков группы С в ТОП-5. в 2025 этот ТОП-5 никак не измениться. Это ТОП-5 языков которые именно используются в реальных проектах.

C# /C Sharp

  • Прикладное ПО
  • Разработка игр для ПК и Консолей
  • Разработка игр для мобильных устройств
  • Разработка игр и приложений для VR
  • Разработка игр и приложений для AR
  • Чат-боты, боты для мессенджеров
  • Робототехника
  • Интернет вещей

Как уже было написано выше все больше и больше студий начинает использовать С# при разработке игр, по прогнозам С# станет основным языком при разработке VR|AR приложений и игр. Под влиянием Microsoft, Epic Games сдастся и внедрит С# в Unreal Engine, не для того Microsoft создавала С# чтоб не доминировать в AR| VR, тем более у них и HoloLens есть которые в перспективе превратятся в линзы. Если посмотреть какими темпами развивается C# , допускаю что и все прикладное ПО начнут писать на C# вытесняя C++, если уже не начали массово это делать.

Наглядный пример того где применяется C Sharp. Взято у Microsoft.
Наглядный пример того где применяется C Sharp. Взято у Microsoft.

Сухой остаток для С/С++/C# , чтоб не запутаться.

Если мы хотим писать программы для контроллеров - С/С++
Если хотим написать ПО/игру - С++
Если нас интересует AR/VR и вообще игровая тематика – C#

Все языки группу С я рекомендую к изучению, без работы не останетесь, зная хотя бы один из них.

Rust

  • Написание прикладного ПО
  • Технологии распределенного реестра
  • Разработка игр для ПК и Консолей
  • Разработка игр и приложений для VR
  • Разработка игр и приложений для AR
  • Интернет вещей
  • Большие данные
  • Серверные приложения
  • Чат-боты, боты для мессенджеров

Пиарят как убийцу языков «С» и вообще мега перспективный язык, на деле – будем посмотреть. На 10 лет младше C# , за 10 лет своего существования имеет всего лишь долю использования в 0,7% от всех языков. На сегодня в основном используется в паре с Java в блокчейн проектах, в той же «Мастерчейн» например. Microsoft в 2019 изъявила желание использовать Rust в своих проектах.

Имеет как ряд функционирующих проектов типа Mozilla Firefox (одни источники говорят, что полностью на Rust, другие нет) и Dropbox, так и ряд мертвых проектов типа Google Fuchsia (фуксия — это провал и спорить тут смысла нет, очередной бред от гугл и вообще вам стоит уже прекращать молиться на гугл, позже я напишу статью об этом) и Redox OS. Допускаю появление на нем ПО и Серверных приложений после 2030 года, т. к. цифра 0.7% сейчас говорит сама за себя.

Я за этим языком наблюдая уже года 4 и пока полное разочарование. Если надумаете изучать, то изучайте его только после «С/С++» .

Программисты любят пописывать на Rust на досуге, но в реальности цифры совсем другие 0,7% в реальных проектах (по данным tiobe).
Программисты любят пописывать на Rust на досуге, но в реальности цифры совсем другие 0,7% в реальных проектах (по данным tiobe).

Язык запросов 1С

  • 1С и есть 1С, чего его обсуждать. Если убрать из экономики РФ 1C случиться коллапс (Торговля, Бухгалтерия, Учет, Отчетность, ККМ и т.д и т.п), так что 1С был, есть и будет дальше. Наоборот, его доля только увеличиться, т.к крупный бизнес еще больше обяжут к взаимовыгодному сотрудничеству между собой, а у малого и у микро бизнеса никаких альтернатив то и нет по сути, да и не нужны им альтернативы – главное чтоб было доступно, просто и дешево. Так что смело можно учить, без работы не останетесь. Рекомендую к изучению.
Старый, добрый 1С - каким он был, таким он и остался
Старый, добрый 1С - каким он был, таким он и остался

JavaScript

  • Веб-разработка
  • Чат-боты, боты для мессенджеров
  • Облачные технологии, Веб-приложения
  • Мобильные приложения (Нативные)

Любой сайт использует JS скрипты, на JS написаны и аудиоплееры, и видеоплееры и даже какие-то расширения в вашем браузере. Все «фронтендеры» любят и ненавидят JS одновременно.

JS сегодня востребован, хорошо платят, по мимо веба на нем пишут ботов для мессенджеров, чат ботов, используют при создании нативных мобильных приложений и для небольших десктопных приложения типа «калькулятор», «календарь» и т.д. такие можно найти в MS Store Windows.

JS иногда используют для создания криптовалютных кошельков, так что в принципе в будущем перспективы у него могут быть и для технологий распределенного реестра. До 2030 года точно будет востребован. Рекомендую к изучению.

TypeScript

  • Веб-разработка
  • Чат-боты, боты для мессенджеров
  • Облачные технологии, Веб-приложения
  • Мобильные приложения (Нативные)

TypeScript является надстройкой над JavaScript. С TypeScript можно использовать существующий JS-код. TypeScrip это новый JS от Microsoft, для Microsoft с блэкджеком и тд., умеет все тоже самое что и JS, на сегодня в основном используется при веб-разработке, реже при разработке мобильных приложений. Такое себе, изучать только в случае если хотите уйти в веб-разработку и то, только после того как освоите и раскроите все возможности JS.

PHP

  • Веб-разработка
  • Чат-боты, боты для мессенджеров

Основной язык в Веб-разработке, любой сайт использует php, НО существуют до той поры, пока существуют веб-браузеры и сайты! С появлением голографических интерфейсов, а также массовом использовании AR|VR – канет в лету, т. к. к тому времени люди перестанут пользоваться сайтами (и скорее всего мобильными приложениями тоже).

Может использоваться при написании чат-ботов и ботов для мессенджеров. Актуален до 2027-2030 года, дальнейшие перспективы языка неизвестны, т. к. заточен в основном на одну узкую задачу.

Так выглядит рабочее пространство типичного веб-разработчика
Так выглядит рабочее пространство типичного веб-разработчика

Пару слов о IDE и редакторах

Можете смело ставить только Visual Studio Code, он и бесплатен и есть поддержка всего и вся, не нравиться Visual Studio Code? Тогда продукты компании JetBrains к вашим услугам. Хардкорные перцы могут сразу ставить Visual Studio, а для веба подойдет NotePad++ или SublimeText. OSPanel скачивайте и будет вам счастье – все остальное в топку так как УГ.

Совет: NotePad++, Visual Studio Code, JetBrains PyCharm, JetBrains IntelliJ IDEA – все остальное в принципе бессмысленно. Для веба OSPanel и JetBrains PhpStorm. NotePad++ или SublimeText идут в комплекте вместе с OSPanel. Если вы сидите на Linux то достаточно LAMP/LEMP + Visual Studio Code.

Облачная IDE Visual Studio Online. Взято у Microsoft
Облачная IDE Visual Studio Online. Взято у Microsoft

Пару советов

1) Сначала изучите и поймите, что такое «Алгоритм» и виды алгоритмов, биты и байты, компиляторы и интерпретаторы, ООП, отличие программы и программирования, что такое виртуальная машина и как она работает, что такое типизация и т.д. и т.п., то есть все базовые понятия.

2) Не пытайтесь объять необъятное, у вас ничего не получиться – вы просто потратите время впустую. Чтоб нормально владеть языком нужно на каждый потратить минимум 2-3 года, из которых у вас полгода-год должна быть теория выучена наизусть как алфавит (классы, циклы, переменные, синтаксис, функции и тд.) и все, все, все что касается непосредственно программирования). Все остальное время 1-2 года вы должны потратить на практику, каждый раз реализуя все новые и новые задачи увеличивая их сложность.

3) Выбирая язык, выбирайте только тот, что понравиться, где вам будет приятнее, удобнее и интереснее работать или выбирайте язык исходя из сферы деятельности, где вы, собственно, и будете применять свои навыки программирования! Не нужно выбирать, к примеру Java только потому, что на сегодняшний день Java программист зарабатывает больше, чем другие, потому что сегодня он зарабатывает, а через 5 лет может и не будет зарабатывать – тут все относительно, а работать с тем, что не нравиться еще те мучения.

4) Если уж вам плевать на программирование вообще, как таковое и вами движут только деньги, и вы уверены в себе что не сломаетесь, тогда учите те языки, которые вообще не представлены в данном списке. Которые согласно индексу tiobe занимают 0,3 – 0,5 % использования – работу вы будете искать заметно дольше чем другие, но, если найдете, как узкоспециализированному специалисту вам будут платить больше, чем остальным на рынке, только учтите, что это не навсегда.

5) Не забывайте про портфолио

6) Учите Английский язык

7) Изучайте команды Linux терминала

Языки, на которые стоит обратить внимание.

R – язык хорош в больших данных, если сама тема Big Data вам интересна и вы горите желанием заниматься анализом данных, то советую изучить R в сочетании с Python.

Dart | Go – оба языка созданы гугл, один позиционируется как убийца JS (создан только потому что гугл с ораклом не поделился деньгами), второй как убийца языков C, на деле языки от гугл, для гугл и только. Если планируете мигрировать в США и работать в "гугол", тогда изучайте, если нет, то смысла учить Go не вижу т. к. в РФ практически нигде не используется либо используется какими-то единичными компаниями, про которые вы даже знать не знаете, либо используют в качестве пиара, чтоб в каком ни будь гиковском издании про эту компании написали статью в духе: "посмотрите они используют GO, идите в ним на работу".

Dart более перспективен для изучения, внутри РФ компании начинают использовать сочетание Dart + Flutter в работе с моб. приложениями.

Mathlab – среда программирования которая имеет свой одноименный язык, используется для построения, расчета и вычисления сложных математических моделей, а также по аналогии с R при анализе данных.

Типичный пример покупного мнения насчет GO. Взято у tproger. Я не верю ни в Rust ни в Go и доказывать что-либо по этому поводу мне бесполезно.
Типичный пример покупного мнения насчет GO. Взято у tproger. Я не верю ни в Rust ни в Go и доказывать что-либо по этому поводу мне бесполезно.

Про учебу и не только

Все необходимое есть на ютубе, в эл. книгах, на хабре и вообще в сети, просто воспользуйтесь поиском. Я с полной ответственностью заявляю, что сегодня можно БЕСПЛАТНО получить знания на очень высоком уровне необходимые для того, чтоб тебя взяли на работу.

Ни в коем случае не стоит идти на курсы и платить деньги, особенно на те где предлагают мнимое трудоустройство – все это бред и выброшенные деньги, а если уж так нужны их материалы, в сети куча форумов где все эти «мегасупер» курсы в складчину продаются, можете ради интереса сравнить, и я вас уверяю что на ютубе БЕСПЛАТНЫЙ материал гораздо лучшего качества чем эти курсу от «суперкрутых» онлайн институтов.

При приеме на работу тебе все равно будут давать тестовые задания так что всем фиолетово какой у тебя диплом и какой курс ты прослушал и сколько за него заплатил. Оценивать будут 1) Как ты решил это задание, 2) Насколько хорошо, 3) Сколько времени тебе понадобилось. Также хороший способ найти работу участие в хакатонах.

З.Ы: Только учтите что рост кол-ва программистов влечет за собой сокращение зарплат.

Подкинуть деньжат на развитие