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

30.07.2019

Один из крупнейших в мире учебных центров по кодированию, Coding Dojo, опубликовал отчет с объективным анализом самых востребованных языков программирования 2018 г. Выводы Coding Dojo основаны на анализе сотен тысяч объявлений о приеме на работу в системе поиска вакансий Indeed.com, содержавших в своем тексте название языка программирования. Отчет констатирует, что наибольший спрос имеет Java, за которым следуют Python и JavaScript.

«Разработка ПО является динамичной сферой деятельности. Рождаются новые языки, фреймворки и технологии программирования, которые могут стать популярными, но через несколько лет исчезнуть из виду. Чтобы не отставать от жизни, разработчикам надо постоянно приобретать новые навыки, - считает Сперос Мисирлакис, заведующий учебными планами Coding Doj. - Coding Dojo все время оценивает, какие языки программирования имеют высокий спрос у работодателей, чтобы мы могли подготовить своих студентов к выходу на рынок труда. Существует много способов измерения популярности языков программирования, но, по нашему мнению, полезнее всего исследовать спрос на рабочие специализации, потому что он ориентирует разработчиков на овладение навыками, которые улучшают их карьерные перспективы».

По словам Мисирлакиса, при подготовке отчета сотрудники Coding Dojo проанализировали данные сайта для работодателей и соискателей рабочих мест Indeed.com по 25 языкам программирования, стекам и фреймворкам и определили первые семь самых востребованных языков кодирования в преддверии 2018 г.

Анализ основан на количестве объявлений о приеме на работе по каждому языку. Некоторые языки, например, Swift и Ruby, не оказались в первой семерке из-за более низкого спроса на специализацию, несмотря на то, что они в фаворе у разработчиков.

Рейтинг Coding Dojo 2018

  1. Java . Популярность Java в проекции на 2018 г. снизилась относительно показателя головой давности примерно на 6 тыс. объявлений о вакансиях, но этот язык по-прежнему стоит на исключительно крепких позициях. Java больше 20 лет, он используется по всему миру миллионами разработчиков и на миллиардах устройств и благодаря Java Virtual Machine может работать на любой аппаратуре и в любых ОС. На Java базируются все приложения Android, и 90% компаний из рейтинга Fortune 500 используют Java как язык серверного уровня для бэкэнд-разработок. В сентябре 2017 г., после того как Eclipse Foundation принял у Oracle бразды правления Java EE, вышли в свет Java Enterprise Edition 8 и Java 9.
  2. Python . Python за 2017 г. вырос в популярности примерно на 5 тыс. объявлений работодателей. Это универсальный язык программирования, используемый в веб-разработках и поддерживаемый разработчиками ПО. Его также широко применяют в научных вычислениях, в сфере Data Mining и в машинном обучении. Дальнейший рост машинного обучения и спрос на разработчиков соответствующего профиля могут способствовать росут популярности Python.
  3. JavaScript . JavaScript, дедушка языков программирования, сегодня фактически так же популярен, как и год назад. Это не удивительно - JavaScript используют больше 80% разработчиков и до 95% всех веб-сайтов для любой динамической логики на своих веб-страницах. С учетом роста популярности Интернета вещей и мобильных устройств ряд JavaScript-фреймворков для создания интерактивных интерфейсов, например, React и AngularJS, имеет огромный потенциал, и в обозримом будущем популярность JavaScript вряд ли пойдет на убыль.
  4. C ++. Популярность C++ за последний год практически не изменилась. Будучи расширением старого доброго языка программирования Си, C++ обычно используется для создания системного и прикладного ПО, разработки игр, драйверов, клиент-серверных приложений и встроенных прошивок. Многие программисты считают C++ сложным и более трудным для изучения и использования, чем языки типа Python или JavaScript, однако он по-прежнему применяется во многих унаследованных системах крупных организаций.
  5. C #. Этот язык в этом году чуть-чуть упал в спросе. C# - это объектно-ориентированный язык программирования, разработанный в Microsoft для платформы Microsoft .NET, чтобы ускорить и облегчить разработки по сравнению с предыдущими языками Microsoft. Выпущенная в ноябре версия C# 7.2 пополнилась рядом новых функций, помогающих избавиться от излишнего копирования. C#, как и C++, интенсивно используется в разработке видеоигр, так что начинающим разработчикам этих игр неплохо освоить оба языка.
  6. PHP . Этот скриптовый язык, используемый на стороне серверов, поднялся в нашем рейтинге с прошлогоднего 9-го на 6-е место. Большинство разработчиков применяет PHP в веб-разработках для добавления функций, с которыми не справляется HTML, или для взаимодействия с базами данных MySQL.
  7. Perl . Perl за год потерял около 3 тыс. кадровых предложений, но сохранил за собой 7-е место. По-прежнему используются и Perl 5, и Perl 6. Язык сохраняет популярность у системных и сетевых администраторов, а также в качестве языка склейки (glue language), предназначенного для связывания разных компонентов ПО.

Языки, подающие надежды

Это языки, которые не попали в первую семерку, но выросли в 2017 г. по степени использования и популярности. Держите их в поле зрения.

  • Swift . Этот язык программирования для iOS и macOS, выпущенный Apple в 2014 г., занял в списке 14-е место. Отчасти это связано с тем, что многие объявления требуют просто наличия опыта разработок в iOS без упоминания конкретных языков. По данным сайтов IEEE Spectrum и Stackify, с момента появления Swift его популярность стабильно растет.
  • R . В списке R занял 11-е место, но мы ожидаем, что в ближайшие годы его рейтинг повысится. Популярность этого языка растет в международных поисковых рейтингах, а в опросе сайта Stack Overflow в нынешнем году он занял наинизшее место по уровню антипатий. Рост его популярности, вероятно, связан с увеличением числа рабочих мест по анализу больших данных.
  • Rust . Хотя сегодняшний рейтинг языка Rust невысок, его популярность, по данным Google Trends, стабильно растет.

Другие технологии, которые надо знать разработчикам

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

  • SQL . Это стандартный язык запросов для хранения, извлечения и манипулирования данными в базах данных. Формально SQL не язык программирования, так как в нем нет циклов и других основных функций, но этот недостаток частично компенсируется в расширениях типа PL/SQL. Спрос на специалистов по SQL исключительно высок, и связанное с ним число объявлений работодателей более чем на 30 тыс. превышает аналогичную цифру для самого популярного языка программирования Java. Если в 2018 г. у вас будет время на изучение дополнительной технологии, подумайте об SQL.
  • . NET . Это платформа Microsoft для разработки всяческих приложений - настольных и мобильных, веб-приложений, игр и приложений IoT. В 2016 г. она поступила в распоряжение сообщества Open Source и используется языками программирования C#, Visual Basic и F#. Имеется кроссплатформенное расширение под названием.NET Core, которое расширяет.NET на iOS, Linux и Android. Многие Windows-приложения работают на базе.NET, из-за чего эта платформа чрезвычайно распространена в мире бизнеса. В Coding Dojo считают, что с переходом в разряд Open Source она станет еще популярнее.
  • Node . js . Это Open Source-среда поддержки выполнения программ, позволяющая запускать код JavaScript на стороне сервера, так что веб-разработчики могут использовать один язык для всего веб-приложения. Хотя технология Node.js в нашем списке заняла 12-е место, на эту специализацию имеется достаточно солидный спрос. Coding Dojo рекомендует всем разработчикам JavaScript для повышения квалификации уделить время Node.js, даже если они сфокусированы на клиентской стороне.
  • MEAN . Стек MEAN (MongoDB, ExpressJS, AngularJS и Node.js) в анализе Coding Dojo идет 18-м пунктом. Его использование позволяет вам создавать все приложение посредством JavaScript, что является простым, быстрым и очень универсальным способом. Изучив MEAN, любой разработчик получит солидную базу в одном самых распространенных и активно используемых в мире языков программирования.

Многие люди, не связанные с IT-сферой, в начале своего пути размышляют на тему: какой язык программирования учить? Ведь языков очень много, порядка тысячи . Однако не существует единственно правильного ответа на вопрос, какой язык программирования лучше всех. Каждый язык создавался для решения определенных задач. Со временем некоторые из них потеряли актуальность, соответственно эти языки отошли на второй план. Лидирующие позиции заняли языки, удовлетворяющие потребности крупных корпораций, бизнеса, занимающихся деятельностью на платформе интернета. Узнать востребованность языка на рынке IT-технологий, а также упростить себе задачу выбора, если вы решили заняться программированием, вам помогут рейтинги языков программирования.

Что такое рейтинг?

Рейтинг языка программирования – это мера его популярности, определяемая на основании одного или нескольких критериев. Например, языковые запросы пользователей в интернете, количество загруженного программного обеспечения, количество обсуждений на форумах, количество вакансий на рынке. Вот, например, как можно вычислить рейтинг Java среди четырёх языков по запросам пользователей в интернете:

Где n – количество запросов пользователей по языку в интернете.

Какие бывают рейтинги?

Рейтинг не дает ответ на вопрос, какой язык программирования лучше, скорее он характеризует популярность его использования. Ниже приведены рейтинги от различных компаний, которые занимаются мониторингом популярности языков программирования длительное время. Рейтинг компании TIOBE Software (рис.1). Анализ результатов рейтинга включает данные на основе поисковой выдачи 25 основных поисковых систем, включая Google, Ebay, YouTube, Yahoo!, Wikipedia, Amazon, Bing. Рисунок 1. Рейтинг от компании TIOBE Software Рейтинг Red Monk (рис.2) для сравнения языков использует данные GitHub и StackOverFlow. Параметры, по которым составляется рейтинг -частота обсуждения и использования языка в проектах. Рисунок 2. Рейтинг от компании Red Monk Рейтинг PYPL (рис.3) основан на анализе частоты поиска языковых документаций в Google. Чем больше запросов, тем более популярным считается этот язык. Исходные данные поступают от Google Trends. Рисунок 3. Рейтинг PYPL Рейтинг, составленный институтом инженеров электротехники и электроники IEEE Spectrum (рис 4). Здесь используются данные из 12 источников, включая Google, GitHub, StackOverFlow, Reddit,Twitter, Career Builder,Dice, IEEE Xplore. Рисунок 4. Рейтинг IEEE Spectrum за 2017 г. На рис.5 представлены лидеры среди языковых запросов на StackOverFlow (данные на конец июня 2018). Рисунок 5. Языковые запросы на StackOverFlow А на рис.6 приведена динамика популярности языковых запросов от Google Trends за последние 12 месяцев (данные на конец июня 2018). Рисунок 6. Динамика запросов по языкам Java, C++, Python, JavaScript, C#

Анализируем рейтинги и сужаем поиск

Какие выводы можно сделать, анализируя эти рейтинги? Несмотря на некоторые отличия в распределении мест языков, лидерами являются Java, JavaScript, Python, С. Именно эти четыре языка занимают порядка 60% всего объема использования языков программирования в мире. Поэтому, остановив выбор на одном из них, вы будете в тренде технологий.

Изучаем «кандидатов» поближе

Так какой язык программирования учить, если выбирать из этой четвёрки? Чтобы определиться, нужно учесть несколько важных моментов. Если вы хотите зарабатывать с помощью программирования, и чтобы к вам относились как к серьёзному разработчику – присмотритесь к Java и семейству языков Си. Изучив один из этих языков, вы овладеете базовыми понятиями и фундаментальными основами программирования нужными для любого программиста: переменные, типы, возвращаемые значения, методы, функции, выражения, инициализация и жизненный цикл, алгоритмы, потоки ввода/вывода. С++ стоит учить, если хотите, например, писать разнообразные прикладные программы или игры. С - поближе к «железу» и используется для низкоуровнего программирования. Подходит, например, для написания драйверов и операционных систем. Язык С# создан по образу и подобию Java, только с синтаксисом ещё ближе к С++ и используется преимущественно для разработки программных продуктов под платформы NET.Framework и Windows. Что касается Java, то он зарекомендовал себя как быстрый (рис.7), надежный и платформонезависимый язык, что делает его лучшим языком программирования для разработки enterprise-приложений – приложений масштаба предприятия. На рынке вакансий программистов Java уже долгое время удерживает лидирующую позицию. Об этом свидетельствуют результаты мониторинга вакансий от IEEE Spectrum за последние 4 года, а также данные от компании Indeed :

Язык Java создавался, чтобы упростить работу программистам и снизить требования к их квалификации, поэтому он более прост и «отказоустойчив» в использовании по сравнению с языками С и С++. Чтобы правильно программировать на С или С++ нужно иметь достаточно высокую квалификацию, поскольку эти языки имеют возможность использовать низкоуровневые средства программирования. При недостаточном уровне знаний, вероятность написания с помощью этих языков небезопасного и запутанного программного кода, с трудом поддающегося отладке, гораздо выше, чем в Java. Java - несложный в изучении язык, освоить который возможно «не выходя из дома», благодаря огромному количеству материала в интернете и различным обучающим интернет-ресурсам, поэтому советую внимательнее присмотреться к нему, в качестве первого языка для изучения. Благодаря существованию таких форумов как StackOverFlow , Javatalks , и Сyberforum при изучении Java вы легко найдете ответ на любой вопрос по теме программирования. Кроме того, Java-разработчики - одни из самых высокооплачиваемых программистов. Подробнее об этом можно почитать .

Подытожим

Итак, если вы ещё не определились с первым языком для изучения, проделайте следующие шаги:
  1. Подумайте, чем бы вы хотели заниматься в перспективе (веб-разработка, разработка прикладных программ и ПО для игр, мобильная разработка, разработка серверных enterprise-приложений)
  2. Просмотрите два-три основных рейтинга языков, сделайте обзор популярности языков в интернете
  3. Изучите рынок вакансий и зарплат вашего региона (например, на сайтах по поиску работы)
  4. Оцените свои силы и время, которое сможете уделять изучению программирования

Java - лучший выбор

Почему именно Java – лучший язык программирования для подавляющего большинства начинающих?
  • Зная Java, с большой долей вероятности вы будете заниматься разработкой enterprise-приложений. Эта работа хорошо оплачивается, ведь заказчики – корпорации, банки и крупные игроки бизнеса.
  • Знание Java дает вам возможность заниматься перспективной, активно развивающейся и также достойно оплачиваемой разработкой мобильных приложений.
  • Подавляющее большинство работающих серверных enterprise-приложений в мире написано на Java, поэтому язык даже при самом пессимистичном раскладе будет поддерживаться ещё много лет.
  • Уже много лет Java лидирует по количеству вакансий. Часто работодателями являются крупные компании, а в крупной компании «джуну» легче развиваться, чем в маленькой.
  • Java достаточно прост в изучении. Освоив его, вы овладеете фундаментальными основами программирования, нужными для любого программиста. При этом после него совсем просто изучить JavaScript или Python и гораздо проще подойти к относительно сложному С++.
  • Язык Java более прост в использовании по сравнению с языками семейства С. В то же время знание Java позволяет по праву считать вас профессиональным разработчиком.
  • И последний, но не менее важный пункт: Java-разработка хорошо оплачивается.

От 100 тысяч рублей

Согласно индексу популярности языков программирования TIOBE, уже 17 лет на вершине списка остаётся Java. И в 2017 году он опередил ближайших конкурентов – C и C++ – в два раза. Такая востребованность обусловлена широтой применения. Java-технологии привлекали для создания Amazon, eBay, LinkedIn, Yahoo!, его используют компании SAP, IBM, Oracle и многие другие, но главное – на Java разрабатываются мобильные приложения для Android.

Именно из-за этого зарплаты варьируются очень сильно: в крупных компаниях или стартапах с привлечением существенных инвестиций они могут быть в несколько раз выше, чем у рядовых участников рынка. И куда большую роль здесь играет не само знание языка, а квалификация специалиста. На рынке труда очень много junior-программистов Java, и получают они оплату на уровне рынка, а middle (developer) и senior – намного выше – из-за нехватки кадров такого уровня подготовки.

Дарья Касаурова

HR-менеджер компании «Фогcофт»

Кроме востребованности Java на рынке (которая зависит от тенденций в области ИТ-индустрии) на зарплату влияет порог входа при его освоении программистом. Он довольно высок для перечисленных объектно-ориентированных технологий: требуется время для изучения, знание математики, теории алгоритмов, теории обработки информации, баз данных, системного анализа и многого другого. Желательно высшее образование в области ИТ либо математики. Действительно хороших специалистов, пишущих на этих языках, на рынке не хватает.

Objective-C и C++

От 120 до 240 тысяч рублей

Языки программирования, на которых написана большая часть программного обеспечения, используются для разработки операционных систем, а потому стабильно занимают вторую строчку в рейтинге TIOBE, порой конкурируя с Java. При этом Objective-C используется компанией Apple, что только добавляет ему популярности, а пишущим на нём программистам - зарплат. Приятным бонусом здесь становится возможность работать удалённо из любой точки мира в крупнейших компаниях отрасли.

Анастасия Аулова

Старший консультант практики «Высокие технологии» рекрутинговой компании «Марксман»

Этот язык используется для разработки под Apple уже десятки лет. На нем написана большая часть существующих проектов мобильной разработки. Те, кто кодит под iOS, имеют хороший доход. Ожидается, что рост мирового рынка мобильных приложений продолжится, и компании вкладывают всё больше средств в развитие этих технологий. Специализация разработчика мобильных приложений достаточно новая, и опытных профессионалов пока недостаточно, поэтому среди работодателей наблюдается конкуренция.

PHP

100-150 тысяч рублей

Насколько популярен и востребован Интернет и веб-приложения, настолько же актуален и язык PHP, который поддерживает большинство хостинг-провайдеров. Это бесспорный лидер рынка динамических веб-сайтов.

Однако найти высокооплачиваемые вакансии крайне сложно – все зарплаты «вертятся» вокруг суммы в 100-150 тысяч рублей. Причина как раз в том, что язык PHP уж очень распространён и популярен у кодеров. Освоить его легче, чем многие другие, порой для этого не требуется даже специальное образование. Порог входа низкий, предложений на рынке труда больше, чем спрос, а в числе претендентов на вакансии оказываются едва ли не школьники, поэтому раскошеливаться на баснословные зарплаты работодатель и не спешит.

Visual Basic.NET

100-135 тысяч рублей

Visual Basic.NET – один из новичков в рейтинге популярных языков программирования. Конкурировать с более востребованными из них он начал только в 2010 году, и сейчас приближается к C#, C++ и C. Он специально был разработан для создания приложений Microsoft Windows на собственной платформе.NET.

Простой синтаксис языка делает его более доступным для изучения начинающими программистами. Однако специалистов, предпочитающих VB, на рынке труда не так уж много. Это сказывается и на зарплатах, они не высоки, хотя и держатся на уровне рынка. При этом многие эксперты отрасли отмечают, что Visual Basic если не на грани вымирания, то наверняка движется по тупиковой ветви развития, а потому пишущие на нём рано или поздно останутся без работы.

1С: Предприятие

80-130 тысяч рублей

Сам программный продукт 1С:Предприятие, предназначенный для автоматизации деятельности компаний, написан на языках C++, C#, SQL, но для конфигурирования используется собственный встроенный язык программирования. Его синтаксис близок к Visual Basic, но ни о каком участии в рейтингах популярности и востребованности речи идти не может, потому что сфера применения языка 1С ограничена географически.

Эксперты в один голос сходятся во мнении, что специалисты 1С уже стали или вот-вот станут самым низкооплачиваемыми в ИТ-сфере. Они не смогут устроиться в западную компанию и, соответственно, получать западные зарплаты, им вряд ли предстоит профессионально развиваться и самосовершенствоваться. Если, конечно, они не захотят выбрать другое IT-направление. И единственные, кому по-настоящему комфортно писать на языке 1С – это региональные кодеры, которые не хотят переезжать или работать удалённо. Поскольку подавляющее большинство компаний используют 1С: Предприятие и так или иначе нуждаются в услугах программистов, то зарплаты здесь сравнимы с московскими.

SQL

50-180 тысяч рублей

SQL – язык структурированных запросов, широко применяется в системах управления базами данных, универсален и не зависит от конкретной СУБД. Само по себе знание языка не гарантирует ни высоких зарплат, ни стабильного трудоустройства. Другое дело, что , специализирующиеся в других сферах и пишущие на других языках, часто параллельно знают ещё и SQL, что сказывается на карьерном росте и на зарплате.

Если говорить о разработчиках баз данных, то и тут можно зарабатывать вполне приличные деньги, имея за плечами опыт проектирования архитектуры баз данных и работы с большими объёмами данных, в том числе хранилищами. Почти наверняка работать такому профессионалу придётся на линейных позициях в крупной компании – о стартапах и инновациях применительно к SQL речь идёт крайне редко.

Pascal и Delphi

40-130 тысяч рублей

Паскаль, пожалуй, самый известный язык программирования, и связано это, прежде всего, с тем, что именно его используют для обучения программированию в школе и на первых курсах вузов. На деле заработать существенные деньги таким программистам крайне сложно. Компаний, которые используют Pascal и Delphi, всё меньше и меньше.

Однако знание этих умирающих языков может стать и преимуществом.

Илья Вислоцкий

Директор центра архитектуры клиентских решений Stack Group

Многие проекты начинали создаваться именно на паскале, когда он ещё был популярным и стабильно поддерживаемым языком программирования. У любого из языков есть своё время жизни, но далеко не все компании готовы перезапускать проекты заново. Поэтому они могут заплатить больше за узко специализированного работника, чтобы тот «вернулся в прошлое».

Наиболее высокооплачиваемый язык – это устаревающий язык или его поколение, которое было популярно в недалёком прошлом. Delphi как раз может служить ярким примером.

Редкие языки

По данным TIOBE, за последний год в двадцатку самых популярных и востребованных ворвались языки программирования Go и Scratch, о которых ещё в 2010 году мало кто слышал. Увеличилась популярность таких языков, как Swift, R, SAS, D, Dart, ABAP, COBOL. Некоторые из них применяются в узкоспециализированных направлениях, другие – для суперпопулярной разработки мобильных приложений. Но в любом случае специалистов требуемого уровня в этой отрасли в России в десятки раз меньше, чем открытых вакансий.

Татьяна Жильникова

Ведущий менеджер по персоналу RCNTEC

В России крайне сложно найти разработчиков уровня Middle и Senior Developer.

Хотя многие в резюме и пишут эти заветные слова, на практике, не дотягивают до указанного уровня. Тут нет ничего удивительного – это новые направления, и ещё 2 года назад для них не было даже русскоязычных обучающих курсов. В 2014 году, «перековыряв» весь рынок труда, мы практически не нашли «рубистов» – и в 2015 провели обучение языку Ruby сами. Сейчас на рынке труда уже появились продвинутые специалисты в этих областях, но их мало.

Семён Умилин

Генеральный директор веб-мастерской Productors

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

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

Любой рейтинг зарплат программистов очень условный, потому что Junior, пишущий на одном языке, может получать намного больше, чем Senior, пишущий на другом. При этом кодеры одного и того же уровня, использующие один и тот же язык, могут получать в разных компаниях сильно отличающиеся зарплаты просто потому, что кому-то из них больше повезло с работодателем.

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

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

При использовании материалов сайта сайт указание автора и активная ссылка на сайт обязательны!

Оставаться на высоте — это главный фактор в мире IT. При этом выбрать из более 600 уникальных языков программирования лучший язык — нелегкая задача.

И чтобы помочь вам с этим решением, мы составили список из 10 языков программирования, которые можно выучить в 2018 году. Чтобы определиться с подходящим языком программирования для вашего проекта, нужно оценить потребности проекта.

Список языков программирования:

1. Swift

За последние годы Swift стал более популярен, чем Objective-C. Это язык программирования для разработки нативных приложений для iOS или Mac OS. Также можно сказать, что это язык программирования с наибольшим потенциалом для изменения будущего. Было обнаружено, что нативные приложения превосходят кросс-платформенные гибридные приложения, а движок SpriteKit при этом упрощает создание 2D-игр. На деле Swift опирается на успехи C и Objective-C, но при этом без ограничений совместимости.

Большую роль в становлении Swift оказало влияние на него таких языков программирования, как Ruby и Python. Он считается удобным для пользователя и интересным в использовании. Swift — это высокоуровневый мультипарадигмальный язык, разработанный Apple для iOS. Если работа с продуктами Apple является вашей целью, то это язык для вас. Swift — статически типизированный язык. Это означает, что Xcode проверяет ваши ошибки за вас, поэтому их легче отслеживать.

У Swift есть преимущество перед конкурентами, так как в нем также имеется автоматический счетчик ссылок (ARC), известная функция, которая управляет использованием памяти приложения в реальном времени, etc. Использование этого языка может дать вам преимущество, поскольку приложения iOS зачастую более выгодны, чем приложения Android.

2. Go

Go – язык 2009 года – эпохи многоядерных процессоров, тогда как языки вроде Python и Java появились в годы однопоточной среды разработки. Именно поэтому язык Go учитывает многозадачность и работает в соответствии с ней. Вместо всем известных потоков (Thread), которые у большинства языков занимают уйму памяти (например, в Java это 1 Мб на каждый поток), в Go предусмотрены горутины, «съедающие» всего 2 Кб памяти. Можно создать хоть тысячу или миллион горутин, и это практически не отразится на работе приложения.

Быстрое время запуска, использование памяти, только если это необходимо (сегментированные, но расширяемые стеки горутин), и другие преимущества делают Go чрезвычайно востребованным в решении многопоточных задач. Это без преувеличений серверный язык будущего, и в 2018 он точно не сдаст свои позиции.

3. PHP

PHP используется повсеместно благодаря WordPress. 80% сайтов с посещаемостью свыше 10 млн. пользователей используют PHP. Примерами таких сайтов могут стать Facebook и Wikipedia. В PHP не существует каких-либо строгих правил в написании кода, а также он гибок в решении различных проблем. PHP — это отличный выбор для веб-разработчиков, поскольку он является серверным скриптовым языком и для Worldpress, и для Facebook.

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

4. C++

С++ был создан в 1983, как альтернатива С, и сразу же приобрел заслуженную популярность. Его главной особенностью являются предопределенные классы. Microsoft Windows и Google Chrome являются самыми известными примерами проектов, созданных на С++. Этот список могут пополнить проекты Adobe и Amazon’a. Данный язык программирования остаётся востребованным и по сей день, поскольку имеет мощный инструментарий, который может быть адаптированы в различных сферах, таких как финансы, банки, игры, связь, электронные платежные системы, розничная торговля и многое другое.

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

5. Python

За этим языком будущее, и это не преувеличение. Во-первых, он прост в понимании и использовании: Python постепенно вводят в учебную программу, повсеместно вытесняя отживший свое Паскаль и прочие «деревянные» языки. Во-вторых, это нейронные сети: если разработчик ударяется в машинное обучение, то сразу же обращает свое внимание на Python. Почему? Да просто данный ЯП оброс достаточным количеством библиотек, ориентированных на нейронные сети (Ruby в этом плане сильно проигрывает).

Качественные фреймворки, огромное количество учебных материалов, дружелюбное комьюнити, простота кодинга: все это делает Python действительно конкурентоспособным языком, который вряд ли сдаст свои позиции в наступившем 2018-ом.

6. JavaScript

По статистике, собранной сайтом Stackoverflow (Stack Overflow Developer Survey), который охватил аудиторию составом больше, чем 64000 разработчиков из 173 стран, JavaScript стал самым используемым языком программирования в мире. Он предоставляет возможность создавать интерактивные сайты и является одной из основных веб-технологий наряду с HTML и CSS, поскольку большинство браузеров в том или ином виде могут использовать JS.

JavaScript отличный язык, чтобы начать свой путь в веб-разработке. Этот ЯП подойдёт для создания интерактивных сайтов в интернете. В последнее время JavaScript расширился, и теперь на нём можно писать мобильные приложения, игры, а также десктопные приложения. Это определённо повлияло на популярность языка.

7. Java

Java — один из самых практичных языков программирования для изучения. Его популярность нельзя переоценить, так как большинство (90%) компаний из списка Fortune используют Java для разработки бэкэнд-систем и десктопных приложений. Кроссплатформенность достигнута благодаря JVM.

В Java, как и во многих современных языках, включая C++, Python, etc, используется принцип объектно-ориентированного программирования (ООП). Java в основном используется для создания серверных приложений и мобильных ПО. Также это основа нативных приложений под Android. Данный язык чрезвычайно популярен среди разработчиков, хоть и есть вероятность, что в плане мобильных приложений всю популярность вскоре может отобрать Kotlin.

8. C#

Разработанный Microsoft, этот мультипарадигмальный язык программирования общего назначения использовался для разработки приложений на платформе Microsoft. C# — это объектно-ориентированный язык, который используется для разработки приложений, основанных на.NET frameworks. И, если это ваш рынок, то C# — лучший язык для создания нативных приложений для платформы Microsoft. Кроме того, он является рекомендуемым языком для разработки игр с использованием движка Unity Game.

Приоритетом разработчиков этого языка была его простота, и так как это язык высокого уровня, он больше похож на английский, чем другие. C# позволяет разработчику сосредоточиться на алгоритме, а не на деталях реализации, так как сложные конструкции в нём заключены в абстракции.

На C# вы можете написать что угодно: веб-сервисы, мобильные ПО, серверные приложения и так далее. И в то время как эксперты утверждают, что спрос на C# падает, Xamarin опровергает эти утверждения, поскольку оказывается, что эта платформа упрощает создание приложений для Android и iOS.

9. Kotlin

Kotlin стремительно развивается и обладает рядом преимуществ. Среди них:

  • лаконичность языка программирования;
  • совместимость с Java;
  • поддерживается Google;
  • растет комьюнити.

Вполне возможно, что скоро приложения для Android-девайсов будут писаться исключительно на Kotlin, поэтому желающим развиваться в направлении мобильной разработки настоятельно рекомендуется присмотреться к данному ЯП.

10. Rust

В 2016 году Rust занял первое место в опросе «что разработчики любят больше всего» на Stack Overflow . Rust оказался языком программирования, который разработчики действительно ценят (79.1% голосов). Язык разработки с открытым исходным кодом, разработанный Mozilla Foundation, работает как низкоуровневый.

Самое интересное здесь то, что Rust делает акцент на безопасном коде (т. е. объекты управляются языком программирования от начала до конца). В нем хоть и нет наследования, зато имеются способности (traits) и структуры. Данный ЯП универсален и зиждется на трех китах: эргономика, скорость и безопасность.

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

В опросе приняло участие 6181 человек, 20% из них принимали участие в прошлых опросах, 60% не принимали, еще 20% - не могут вспомнить. 91,5% респондентов проживает в Украине, 8,5% - за ее пределами. Сырые данные опроса и скрипты обработки на языке R доступны на GitHub .

Краткая сводка

  • Java по-прежнему самый распространенный язык программирования; разрыв между Java и C# - увеличивается.
  • JavaScript вошел в тройку лидеров, вытеснив из нее PHP.
  • Возобновился рост использования Scala.
  • Соотношение Objective-C/Swift все еще 80/20.

Основные языки разработки в 2015

А вот и динамика за последние 6 лет:

Мы видим, что Java по-прежнему лидирует на рынке, и тенденция к росту продолжается. Использование C# по-прежнему сокращается.

Главная новость этого опроса - выход JavaScript на третье место. Скорее всего, это означает, что эра доминирования PHP в начальном секторе web-разработки постепенно проходит. Сейчас начинающим веб-разработчикам имеет смысл смотреть в сторону JavaScript.

Также можно отметить возрастание доли Python’а. Возможно, это связано с возрастанием роли data science компонент в проектах, где Python традиционно используется в качестве языка склейки. Можно отметить и небольшой рост использования Scala. Интересна ситуация с Swift - виден сильный рост, но процесс замены языков далек от завершения: почти 80% iOS разработки - это все еще Objective-C.

Давайте посмотрим, насколько статистически значимы изменения популярности того или иного языка по сравнению с прошлыми опросами. Напоминаем, что мы называем изменения статистически значимыми, если с 95% вероятностью данные двух опросов не могут быть собраны на основе данных разных групп внутри одной гауссовской популяции. Итак, по сравнению с прошлым опросом статистически значимы изменения произошли с JavaScript, Ruby и Swift. Еесть еще возрастание популярности Clojure «в длинном хвосте». А вот по сравнению с позапрошлым - изменений очень много. В основном - процессы, связанные с устареванием одних технологий (C#, C++, Objective-C, ActionScript, Perl) и появлением их заменителей (JavaScript, Swift, R, Go).

Заметим, что большинство участников (89%) могут выделить один основной язык программирования, на котором они пишут больше всего.

Предпочитаемые технологии

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

Видно, что в прошлом году на Java ориентировалось меньше людей, чем сейчас. С другой стороны, наблюдаем уменьшения выбора Scala для следующего проекта. Однако если не учитывать «выброс» прошлого и позапрошлого года, то естественный рост перспективности Scala продолжается. Можно подумать, что значительная часть Java сообщества не была уверена в перспективах своего языка и подумывала о переходе на Scala, что и осуществила в прошлом году. А часть все-таки пришла к выводу о предпочтительности Java.

Еще можно заметить, что тут Swift находится уже выше, чем Objective-C. Go также продолжает набирать перспективность. Можно отметить наличие стойкого ядра сторонников у Erlang и Сlojure.

Посмотрим на индекс удовлетворенности - будут ли люди, работающие на таком-то языке, думать начинать следующий проект на нем же:

В первой группе мы видим Swift и Scala, которые разделяют между собой звание «идеального языка»; еще можно отметить довольно высокую оценку Go по сравнению с соседним опросом. А языки, пользователям систем на которых предстоит задуматься о миграции, - это CoffeeScript и Perl.

Что люди, пишущие на Perl, думают о языке в следующем проекте? Это будет, в первую очередь, JavaScript и Python. Интересен вопрос о том, куда хотят переходить люди, пищущие сейчас на PHP: 60% остались бы писать на этом языке, 10% перешли бы на JavaScript, приблизительно по 8% - на Java и Python, 3-4% - на Ruby и Go. Основные направления миграции из 1C - Java и Pythоn.

Дополнительные языки

Тут особых неожиданностей нет. Единственное - доля C перестала падать, а доля C++ начала возрастать - возможно, это связано с ростом hardware-проектов.

Свои проекты

Тут, как мы видим, основные тенденции сохраняются. Тренд, на который следует обратить внимание, - рост Python, Go и R.

Финальная таблица

Язык Доля рынка, % Изменение по сравнению с прошлым опросом Рабочий сейчас Дополнительный В своих проектах Индекс удовлетворенности
1 Java 26.3 1439 804 1603 0.78
2 С# 15.4 846 511 1005 0.80
3 JavaScript 13.8 2.76 761 2876 1914 0.71
4 PHP 13.1 722 603 1014 0.60
5 Python 8 437 790 816 0.72
6 C++ 6.4 353 553 611 0.61
7 Ruby 3.5 -0.8 196 178 280 0.73
8 Objective-C 3.2 175 170 201 0.46
9 C 1.3 72 390 222 0.33
10 1C 1.2 68 41 61 0.22
11 Scala 1.0 57 151 177 0.89
12 PL-SQL 54 304 63 0.20
13 Pascal/Delphi 52 85 166 0.25
14 Swift 48 173 165 0.90
15 T-SQL 40 588 159 0.20
16 ActionScript 31 44 64 0.32
17 Perl 22 73 41 0.18
18 R 16 68 55 0.44
19 Erlang 16 31 34 0.56
20 Go 14 133 142 0.79
21 CoffeeScript 11 186 66 0.18

Дополнительные данные

Интересно сравнение с прошлогодним опросом. Erlang дождался свое молодой шпаны, в отличие от Basic. Самые зрелые программисты на R (медиана - 34 года; не так уж и много), а самый молодежный - опять CoffeeScript ;)

Также интересно посмотреть зависимость общего опыта разработки от языка программирования:

То есть медианный опыт разработчиков на Coffe, Java, C#, Ruby, Erlang, Swift и R - 3 года. При этом возраст разработчиков на R - один из самых высоких, то есть можно предположить, что люди пришли в разработку после математики. А вот для Go и Pascal/Delphi - большинство разработчиков с опытом больше 10-ти лет, это при том, что Go - язык сравнительно молодой.

Еще немного интересной информации дает соотношение опыта общей разработки и опыта. Есть два языка, где эти значения совпадают - 1C и Pascal/Delphi.

Посмотрим, как менялся опыт разработки со временем:

То есть более 25% программистов имеют за плечами год или меньше опыта работы.

Мозаика соотношения опыта работы и опыта работы на текущем языке:

91% разработчиков находятся в Украине, 8,5% - за ее пределами. Распределение возрастов разработчиков, как и следовало ожидать, несимметрично. В Украине медианный возраст - 27 лет, в то время как за рубежом - 29:

Распространенности языков тоже отличается:

Что касается образования - большинство людей по-прежнему начинали с Pascal’я, хотя уже видно возрастание тренда использования языков следующего поколения в обучении. Эта ситуация не меняется даже в выборке людей, моложе 25: