Какой язык программирования учить

На этот раз я хотел бы подвести некоторые итоги уходящего 2020 года, а также поразмышлять о том, что же ждет нас в наступающем 2021-ом:

  • Какие направления разработки были и остаются актуальны
  • На какие языки программирования следует обратить внимание

Итоги 2020

Начнем мы с подведения итогов уходящего года. Ситуация на рынке, как вы знаете, довольно сильно изменилась. Многим бизнесам пришлось адаптироваться под новые реалии и переходить на удаленный режим работы. Больше всего пострадали те сферы, которые не имели возможности этого сделать.

Нельзя сказать, что на IT это никак не отразилось. Ведь основные заказчики большинства направлений - это все те же малый и средний бизнес. Однако, мир еще больше сдвинулся в сторону компьютеризации и ухода в онлайн. А это делает направления IT с каждым годом все более востребованным.

Давайте посмотрим, какие языки и направления были наиболее популярны в 2020 году и постараемся оценить общую ситуацию на рынке. Опираться мы будем на результаты опроса сайта StackOverFlow, в котором приняло участие порядка 65 тысяч разработчиков со всего мира:

https://insights.stackoverflow.com/survey/2020

Роли разработчиков

В первую очередь давайте посмотрим с каким направлением ассоциируют себя разработчики.

Роли разработчиков

Первое место занимает Back-end, т.е. серверная часть программирования. С ним себя ассоциируют 55.2% опрашиваемых.

Это работа с такими языками, как:

  • PHP
  • Python
  • Java
  • C
  • C#
  • Ruby
  • и т.д.

На третьем месте у нас располагается Front-end, т.е. разработка клиентской части. С ней себя ассоциируют 37.1% разработчиков. В данном направлении у нас нет такого разнообразия языков. Это всегда:

  • HTML
  • CSS
  • и JavaScript в одной из своих вариаций

На втором месте у нас располагается Full-stack, т.е. разработчики полного цикла. Это те люди, которые могут работать как с серверной, так и с клиентской частью. С ними себя ассоциируют 54.9% разработчиков.

Далее идут:

  • Разработчики десктопных программ и мобильных приложений
  • Специалисты DevOps
  • Администраторы баз данных
  • Дизайнеры
  • Системные администраторы
  • и т.д.

По этой диаграмме мы можем судить о популярности того или иного направления. В какой-то степени это может коррелировать как с количеством вакансий, так и с долей конкуренции на рынке.

Языки программирования, сценариев и разметки

Теперь давайте сравним популярность самих языков.

Популярные языки

Здесь уже восьмой год подряд лидером является язык программирования JavaScript. Далее идет:

  • язык разметки HTML в паре с CSS
  • язык запросов к базе данных SQL
  • Python
  • Java
  • Различные терминалы
  • C#
  • PHP и т.д.

Также, в последние годы довольно уверенно вверх идут такие языки, как TypeScript, Go и Kotlin. В то время как Ruby, входивший в топ-10 в 2017 году, продолжает терять свои позиции.

Фреймворки и библиотеки

На следующей диаграмме мы можем оценить популярность различных библиотек и фреймворков.

Фреймворки и библиотеки

Как мы видим, несмотря на то, что jQuery год от года теряет свою актуальность, хоронить его еще рано. Судя по опросу, порядка 43% разработчиков до сих пор сталкиваются с ним в тех или иных проектах. Далее идут быстро набирающие популярность React и Angular. Также в 10ку входит Vue.js, нодовский Express и питоновский Django.

Смежные инструменты

Среди смежных технологий, которые так или иначе используют разработчики, уже второй год подряд лидирует Node.js. Им пользуются порядка 52% опрошенных.

Смежные инструменты

Я думаю, речь тут идет не только о самом программировании на Node.js, но и использование его npm-пакетов, которые позволяют решать множество задач. В том числе и при верстке сайтов.

Базы данных

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

Базы данных

В лидерах у нас по прежнему MySQL и ряд других SQL баз данных. А на пятом месте можно увидеть также не безызвестный MongoDB.

Что изучать в 2021

Какие выводы мы можем сделать из результатов данного опроса, и что же следует изучать в 2021 году? В первую очередь, если вы только начинаете свой путь в разработке, необходимо определиться с направлением, в котором вы себя видите.

Это может быть:

  • Веб-разработка
  • Мобильная разработка
  • Data Science (работа с данными)
  • DevOps
  • QA (тестировщики)
  • Создание настольных приложений
  • и т.д.

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

Веб разработка - клиентская часть

Если вы решите выбрать веб разработку, как в свое время сделал я, то самое просто с чего следует начать, это верстка сайтов. Для этого вам понадобится связка HTML + CSS. Далее, вы можете повышать свои навыки, использовать различные системы сборки, препроцессоры и шаблонизаторы.

Либо, вы можете развиваться в сторону FrontEnd-разработчика, т.е. разработчиков клиентской части приложений и сайтов. Здесь вам нужно будет изучить JavaScript, а в последствии какую-нибудь из его библиотек или фреймворков. Например, React, Vue.js или Angular.

Веб разработка - серверная часть

Если вы не хотите заниматься клиентской частью, то ваш выбор - это BackEnd, т.е. программирование серверной части:

  • написание логики приложений и сайтов
  • взаимодействия с базой данных
  • и т.д.

Для веб-разработки чаще всего используется один из двух вариантов стека:

1) Первый вариант "Классический" - это язык программирования PHP + система управления базой данных MySQL. Большинство популярных CMS, таких как Wordpress, Bitrix и т.д., используют именно такую связку. Ну а поскольку многие сайты построены на той или иной системе управления, без работы в ближайшие годы вы точно не останетесь.

2) Вторая связка больше подходит для тех, кто уже знаком с JavaScript и хочет использовать его во всем стеке разработки. Это сочетание Node.js + MongoDB.

Разное

Если вас больше интересуют мобильные приложения, то тут также есть два основных стека:

  • Java / Kotlin для разработки под Android
  • Objective-C / Swift под iOS

В таких направлениях как Data Science, машинное обучение и искусственный интеллект, следует обратить внимание на Python. Да и в целом с такими универсальными языками как Python, Java, C# вы точно не пропадете. Уже многие годы они входят в ТОП-10 и вряд ли покинут его в ближайшее время. Об этом же можно судить и по рейтингу TIOBE:

Рейтинг языков программирования

https://www.tiobe.com/tiobe-index/

Поделитесь данной записью с друзьями