Организация IEEE Spectrum опубликовала 11-й ежегодный рейтинг самых популярных языков программирования. В нем объединили множество показателей из разных источников, чтобы создать три мета-рейтинга. Рейтинг «Спектр» составлен с учетом того, что используют члены IEEE, рейтинг «Тренды» направлен на выявление языков, которые находятся в тренде, а рейтинг «Работа» определяет, что ищут работодатели. Полное описание методологии вы можете найти здесь.
На первом месте Python продолжает укреплять свое общее господство, чему способствуют такие вещи, как популярные библиотеки для как искусственного интеллекта, а также его педагогическая популярность (для большинства студентов сегодня если они и изучают один язык программирования в школе, то это Python). Python также довольно популярен среди работодателей, хотя его преимущество над другими языками общего назначения не так велико, и, как и в прошлом году, он играет вторую скрипку после языка запросов к базам данных SQL, который работодатели предпочитают видеть в паре с другим языком.
Популярность SQL среди работодателей является естественным продолжением сегодняшнего акцента на сетевые и облачные архитектуры, где базы данных становятся естественным хранилищем всех данных, которые пережевывает логика программы.
Такие языки, как Java, Javascript и C++, также сохраняют высокие позиции, но особенно интересно то, что происходит чуть ниже. Typescript поднялся на несколько позиций во всех рейтингах, особенно в рейтинге «Работа», где он занял четвертое место против 11-го в прошлом году. Основным отличием Typescript от Javascript является статическая типизация переменных, когда тип переменной — целое число, плавающая точка, текст и так далее — должен быть объявлен до того, как она может быть использована. Это позволяет проверять ошибки при компиляции и повысить надежность.
Еще один лидер роста — Rust. В отличие от C или C+, Rust «безопасен для памяти», то есть использует различные техники, чтобы гарантировать, что программы не смогут записывать в те места в памяти, которые им не положены. Такие ошибки являются одним из основных источников уязвимостей в системе безопасности. Популярность Rust резко возросла благодаря таким вещам, как февральский отчет по кибербезопасности от Белого дома, призывающий использовать безопасные для памяти языки для замены C и C++. Действительно, популярность языка C, похоже, идет на спад: он опустился с четвертого на девятое место в рейтинге Spectrum и с 7-го на 13-е в рейтинге Jobs.
Два языка вошли в рейтинг впервые: Apex и Solidity. Apex предназначен для создания бизнес-приложений, использующих сервер Salesforce в качестве бэкенда, а Solidity — для создания смарт-контрактов на блокчейне Ethereum.
В этом году несколько языков также выбыли из рейтинга. Это не означает, что язык полностью мертв, просто сигнал этих языков слишком слаб, чтобы их можно было полноценно ранжировать. Среди выбывших языков — Forth, который до сих пор популярен среди людей, создающих 8-битные ретросистемы, благодаря своей миниатюрности. Слабый сигнал — это еще и причина, по которой не включили в рейтинг такие хайповые языки, как Zig, хотя люди, владеющие им, очевидно, могут получать высокую зарплату.
В то время как другие языки приходят и уходят из рейтинга, можно отдать должное бессмертным языкам — Fortran и Cobol. Несмотря на то что им уже около 65 лет, работодатели до сих пор ищут программистов на обоих языках. Для Fortran это, как правило, избранная группа людей, которые также хорошо разбираются в физике высоких энергий. Cobol более широко востребован, поскольку многие правительственные и финансовые системы все еще полагаются на инфраструктуру, создаваемую десятилетиями, и недавнее парализующее воздействие инцидента с Cloudstrike/Microsoft Windows, вероятно, не слишком способствовало их замене!
IEEE Spectrum — это флагманский журнал Института инженеров электротехники и электроники (IEEE), одной из крупнейших профессиональных организаций в мире. Журнал специализируется на публикации статей, связанных с инженерией, технологиями и наукой, охватывая широкий спектр тем, включая электронику, компьютерные науки, робототехнику, телекоммуникации, биомедицинскую инженерию и многие другие области.