Апрельский рейтинг, составленный специалистами аналитического портала TIOBE, принес неожиданные перемены. Относительно молодой и очень перспективный Python, подававший большие надежды, покинул тройку лидеров. Его место занял старый-добрый С++.
Python не виноват
Python – действительно интересный язык: простой, с низким порогом входа и впечатляющими возможностями. У него простой и элегантный синтаксис, избавленный от множества скобок и запятых, и целые россыпи «синтаксического сахара» – одни только генераторы чего стоят!
С Python сегодня работают как математики и специалисты в сфере искусственного интеллекта, так и эксперты по кибербезопасности, разработчики автотестов, бэкенд-разработчики и представители других направлений. Для него доступно огромное количество библиотек с открытым исходным кодом, которые позволяют запустить сложнейшие системы в сжатые сроки.
Почему же Python сдал позиции? По словам экспертов TIOBE, его поклонников меньше не стало. Просто С++ вышел на новую волну популярности. Он все такой же быстрый, обеспечивает работу с данными и компонентами на низком уровне, а аудитория «плюсов» – это как минимум три поколения разработчиков.
Первая 20-ка «фигурантов» рейтинга
Возрождение легенды
Когда-то доля С++ на рынке составляла 15%. Сейчас рекордные 15% у Java, которая широко применяется в бэкенде сайтов, Android и решениях интернета вещей. А у С++ – менее 9%, весьма скромный результат.
Но эксперты верят, что С++ вполне способен вернуть былую славу. Основные проблемы языка связаны с выходом новых версий компиляторов.
Сейчас же, после выхода трех ключевых редакций C++11, C++14 и C++17 и их поддержки основными компиляторами, ситуация восстанавливается. Популярность «плюсов» стала возрождаться, а новые версии Gcc, Clang и Visual Studio сделали разработку проще, комфортнее и продуктивнее.
Коротко о С++
С++ – компилируемый язык программирования со статической типизацией. Наследник языка С создан в конце 1980-х годов сотрудником Bell Labs Бьерном Страуструпом. Первый коммерческий выпуск С++ состоялся в 1985 году.
Фактически Страуструп взял синтаксис С и дополнил его средствами языка Симула, чтобы эффективно решать возникающие задачи. В С++ появились объекты и классы, и это ускорило разработки за счет внедрения объектно-ориентированного подхода.
Классы в С++ отражают типы объектов, событий и других явлений. Их можно наследовать, создавая целые иерархии классов, а также ограничивать доступ к функциям и данным класса (это обеспечивает инкапсуляцию — сокрытие деталей реализации от пользователя).
Кроме того, классы — это полиморфизм: можно создать единый интерфейс и множество его воплощений, чтобы работать со всеми ними единообразно и не задумываться об особенностях реализации. Реализуется полиморфизм и через перегрузку функций.
Наконец, в С++ есть мощный механизм дружественных функций и классов. Он позволяет открыть доступ к приватным членам классов, сторонним классам и функциям, сохраняя нужный уровень конфиденциальности.
Преимущество С++ в том, что он, как и чистый С, позволяет работать с ресурсами на низком уровне и эффективно оптимизировать код, но в то же время внедрять парадигму объектно-ориентированного программирования. К тому же С++ поддерживает практически любой код на С и имеет обширную стандартную библиотеку классов и функций, которая постоянно расширяется.
Новейший стандарт языка — С++17 2017 года.
Вот как выглядит простейшая программа на С++:
#include <iostream> // подключаем стандартную библиотеку ввода-вывода
using namespace std; // устанавливаем пространство имен
int main() // создаем основную функцию, с которой начинается выполнение программы
{
cout << "Hello, world!" << endl; // выводим надпись в консоль и переводим курсор на новую строку
return 0; // возвращаемое значение — показатель корректности завершения программы
}
Изучение С++ рекомендуем начать с книги Бьерна Страуструпа «Язык программирования C++» и «Полного справочника по C++» Герберта Шилдта. Обе книги много раз переиздавались и позволяют быстро вникнуть в особенности непростого, но логичного и мощного языка.
Как составляется рейтинг TIOBE
Рейтинг языков программирования TIOBE отражает их популярность в мире. Позиция в списке никак не связана с качеством языка, его возможностями, количеством написанных строк кода или широтой применения.
При составлении рейтинга эксперты подсчитывают количество поисковых запросов, касающихся того или иного языка, в четырех поисковых системах: Google, Bing, Yahoo! и Baidu. Также учитываются результаты выдачи Wikipedia, Amazon и YouTube.
Рейтинг публикуется ежемесячно. Он дает возможность понять, какие языки заслуживают внимания, и помогает определиться тем, кто хочет сменить направление разработки.