Исследования
Главные языки программирования 2023
В этом году Python не только остался на первом месте в общем рейтинге «Спектр», который составлен с учетом интересов типичного члена IEEE, но и увеличил свое преимущество.
Spectrum, ежемесячный журнал IEEE (Institute of Electrical and Electronics Engineers), выпустил десятый ежегодный рейтинг языков программирования. Он основан на результатах поиска в Google, вопросах в Stack Overflow, библиотеке IEEE Xplore Digital Library, вакансиях на сайте IEEE и CareerBuilder, репозиториях GitHub, упоминаниях в Discord и публикациях в библиотеке Trinity College.
В этом году Python не только остался на первом месте в общем рейтинге «Спектр», который составлен с учетом интересов типичного члена IEEE, но и увеличил свое преимущество. Доминирование Python, похоже, происходит в основном за счет более мелких и специализированных языков. Он превратился в «швейцарский нож» и даже стал обязательным в некоторых областях, таких как ИИ, где мощные и обширные библиотеки делают его повсеместно распространенным. И хотя закон Мура для высокопроизводительных вычислительных систем сходит на нет, низкопроизводительные микроконтроллеры все еще выигрывают от роста производительности, а значит, вычислительной мощности процессора стоимостью 0.7 долл. теперь достаточно, чтобы сделать Python конкурентом при разработке встраиваемых систем, несмотря на накладные расходы на интерпретатор.
Кроме того, похоже, что Python укрепляет свои позиции в долгосрочной перспективе. Многие дети и подростки уже сейчас программируют свою первую игру или мигают первым светодиодом, используя Python. Затем они смогут легко перейти к более сложным областям и даже устроиться на работу, используя тот же язык.
В рейтинге «Работа» на первом месте стоит SQL. Однако, как ни странно, вы вряд ли получите работу в качестве программиста на SQL. Наоборот, работодатели очень любят видеть навыки работы с SQL в тандеме с каким-либо другим языком, например Java или C++. В современных распределенных архитектурах многие важные для бизнеса данные хранятся в базах данных с SQL. Если вы хотите что-то сделать с этой информацией, вам необходимо знать, как к ней добраться.
Но пусть вас не обманывают позиции Python и SQL: Программирование еще далеко не стало монокультурой. Java и различные C-подобные языки превосходят Python по совокупной популярности, особенно для высокопроизводительных или ресурсоемких задач, где накладные расходы на интерпретатор Python все еще слишком велики (хотя есть ряд попыток сделать Python более конкурентоспособным в этом направлении). Кроме того, существуют программные экосистемы, которые сопротивляются поглощению Python по другим причинам.
Например, язык R, используемый для статистического анализа и визуализации, получил широкое распространение в связи с развитием больших данных несколько лет назад. Несмотря на свою мощь, он не так прост в освоении, поскольку имеет загадочный синтаксис, а функции, как правило, выполняются над целыми векторами, списками и другими высокоуровневыми структурами данных. Однако, несмотря на наличие библиотек Python, предоставляющих аналогичную аналитическую и графическую функциональность, R остается популярным, скорее всего, именно из-за своих особенностей. Они затрудняют перенос скриптов R, что является существенной проблемой, учитывая огромный объем статистического анализа и научных исследований, построенных на R. Целым областям исследователей и аналитиков пришлось бы изучать новый язык и перестраивать свою работу.
Эта ситуация напоминает ситуацию с Фортраном, когда ценность существующего валидированного кода для физического моделирования и других научных вычислений неизменно перевешивает затраты, связанные с использованием одного из старейших языков программирования. Вы и сегодня можете получить работу программиста на Фортране, хотя, скорее всего, вам потребуется допуск к секретности, поскольку такие вакансии в основном предоставляются в федеральных оборонных и энергетических лабораториях США.
Языки-ветераны могут оказаться и там, где вы этого не ожидаете. Язык Ladder Logic, созданный для промышленных систем управления, часто ассоциируется со старомодными технологиями. Тем не менее, есть объявление от Blue Origin, одной из новых гламурных космических компаний, которая ищет человека со знанием Ladder Logic. Предположительно, это связано со скоплениями наземного оборудования, необходимого для заправки, подачи энергии и тестирования разгонных блоков и космических аппаратов, которые имеют гораздо больше общего с разросшимися химическими заводами, чем с парящими ракетами.
В конечном счете, рейтинг языков представляет собой попытку Spectrum измерить то, что никогда не может быть измерено точно, основываясь на постоянном освещении авторов журнала вычислительной техники. Главный принцип — не увязнуть в спорах о том, как формально классифицировать языки программирования, а сосредоточиться на практических аспектах, имеющих отношение к людям, которые стучат по клавиатуре, создавая магию, обеспечивающую функционирование современного мира.