Показатель спроса на рынке языков программирования в России

, ,

Аспиранты

Санкт-Петербургский государственный университет экономики и финансов, Факультет регионоведения, информатики, туризма и математических методов, Санкт-Петербург, Россия

*****@***ru

Информационные технологии (ИТ) сегодня развиваются с потрясающей скоростью. В рамках этого развития активно совершенствуется и сфера разработки программного обеспечения (ПО). Чтобы поспевать за общим прогрессом, разработчики и менеджеры из сферы разработки ПО вынуждены совершенствовать свои инструменты и технологии, для чего им необходимы достоверные актуальные данные, позволяющие эффективно ориентироваться во внешней среде.

Одним из важнейших стратегических решений, принимаемых перед началом работ по разработке программного обеспечения, является выбор языка программирования (ЯП). В первую очередь, выбор ЯП, как и любого другого инструмента, зависит от характера стоящей перед разработчиками ПО задачи. От этого решения зависят скорость разработки, надежность и требовательность ПО к вычислительным ресурсам, сложность разработки и поддержки ПО, зарплаты программистам и т. д. Соответственно, распределение востребованности ЯП в некоторой степени отражает набор задач, решаемых индустрией ПО.

Более того, Карл Шапиро и Вариан показали [5], что языки программирования можно рассматривать в качестве продукта, потребляемого разработчиками ПО, а потому можно говорить о существовании рынка ЯП. Однако при этом стоит сразу отметить следующую важную особенность рассматриваемого продукта: язык программирования не может использоваться в качестве товара на рынке ЯП, так как фактически он не продается, являясь открытым и доступным для широкой аудитории бесплатно и неограниченно. В данном случае продаются лишь сопутствующие ему товары для разработчиков: среды для разработки (IDE), программные и аппаратные платформы, образовательные программы и курсы повышения квалификации, готовые решения (библиотеки исходных кодов) и пр.

НЕ нашли? Не то? Что вы ищете?

С данной точки зрения возникает вопрос о востребованности того или иного языка на рынке ЯП. Как отмечалось выше, важнейший фактор востребованности ЯП – это возможности, которые предоставляет язык для решения тех или иных задач. Учитывая особенности рынка, можно отметить неценовой характер конкуренции ЯП, проявляющийся в повышении качества ЯП, и полноформатную конкуренцию сопутствующих товаров.

Мнения специалистов ИТ-сферы о востребованности того или иного ЯП в России значительно различаются [2]. Эти мнения, как правило, основываются на профессиональном опыте и на анализе так называемых индексов популярности ЯП.

Индексы популярности ЯП заслужили доверие ИТ-специалистов из-за нескольких предположений. С одной стороны, популярность может сигнализировать об удобстве и оптимальности языка как инструмента для разработки ПО. С другой стороны, на рынке труда, скорее всего, значительно больше программистов на популярных языках и дифференцированность их способностей и зарплат также значительно выше.

Рассмотрим подробнее данные индексы. На сегодня существует некоторое количество методик расчета индексов популярности ЯП, результаты которых в открытом доступе публикуется информация в сети Интернет. [3]

Наиболее известные из них: индекс TIOBE (значение рассчитывается на основе количества страниц в Интернете, выдаваемых поисковыми запросами, содержащими название ЯП) [7]; Индекс популярности языков (основан на количестве поисковых запросов к поисковым системам, содержащих название конкретного ЯП) [6]; PYPL (основан на подсчете количества страниц, которые реально ищут разработчики ПО, в отличие от TIOBE, который ориентируется на количество доступных страниц) [4]. Некоторые индексы рассчитываются на основе количества кода, опубликованного в open-source - хранилищах исходного кода [1].

Существующие индексы используются многими авторами в научных статьях при сравнении популярности языков программирования [1] и ИТ-менеджерами при обосновании выбора средств разработки [9].

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

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

Воспользовавшись возможностью автоматического подсчета числа вакансий, размещенных на рекрутинговых сайтах, мы реализовали описанный альтернативный показатель востребованности [8], характеризующий спрос на ЯП в России. По таблице 1 видно, что его результат сильно разнится с результатами индексов популярности.

Таблица 1

Наиболее популярные ЯП с точки зрения индексов популярности на 24.02.2013

TIOBE

Индекс популярности языков

PYPL

Новый показатель

1

Java

C

Java

2

C

Java

PHP

JavaScript

3

Objective-C

Objective-C

C#

PHP

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

Таким образом, популярность языков программирования не отражает реальной востребованности ЯП в сфере разработки ПО. Для принятия стратегических решений ИТ-менеджерам рекомендуется использовать более объективные показатели, например показатель спроса на рынке ЯП в России [8].

Литература

1. Delorey D., Knutson C., Giraud-Carrier C. Programming Language Trends in Open Source Development: An Evaluation Using Data from All Production Phase SourceForge Projects http://dml. u. edu/~cgc/pubs/WoPDaSD2007.pdf (09.02.2013).

2. HeadHunter: Рейтинг языков программирования http://*****/publication/2.

3. Measuring programming language popularity http://en. wikipedia. org/wiki/Measuring_programming_language_popularity (24.02.2013).

4. Carbonnelle P.: PYPL PopularitY of Programming Language index https://sites. /site/pydatalog/pypl/PyPL-PopularitY-of-Programming-Language (09.02.2013).

5. Shapiro C., R. Varian H. Information Rules: A Strategic Guide to the Network Economy. - Boston: Harvard Business School Press. - ISBN Xс.

6. The Transparent Language Popularity Index http://lang-index. (09.02.2013).

7. TIOBE Software: TIOBE Programming Community Index Definition http://www. /index. php/content/paperinfo/tpci/tpci_definition. htm (09.02.2013).

8. : Programming languages popularity index http://***** (09.02.2013).

9. Хабрахабр: Популярность языков программирования http://*****/post/43218/ (09.02.2013).