C++ подвинул Python в тройке лидеров апрельского рейтинга TIOBE

Возврат к списку

C++ подвинул Python в тройке лидеров апрельского рейтинга TIOBE

16.04.2019     

Апрельский рейтинг, составленный специалистами аналитического портала 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.

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

Апрельский рейтинг TIOBE



Источник: https://infostart.ru/journal/news/zhizn/c-podvinul-python-v-troyke-liderov-aprelskogo-reytinga-tiobe_1042935/
Автор:
Ксения Шестакова Обозреватель


Комментарии
Избранное Подписка Сортировка: Древо
1. messulete 16.04.19 11:45 Сейчас в теме
Бьерна Страуструпа «Язык программирования C++» если с этой книги начать изучение, то очень быстро и закончишь))
evn-zorin; kalyaka; DoctorRoza; +3 Ответить
3. Darklight 21 16.04.19 12:41 Сейчас в теме
(1)Согласен - очень плохая рекомендация начинать изучение с той книги - она хороша тем, кто какраз-таки хочет углубить я в язык C++ уже имея где-то годовой опыт программировния на нём. Ну и конечно же, прежле чем изучать C++ настоятельно реккомендую изучить просто "Си" - все полученные знания пригодятся при изучении языка C++ а по языку "Си" есть много "лёкой" литературы, которая минимально отпугнёт не опытного читателя. Но вообще, даже "Си" это не очень удачный язык для первого изучения (даже второго - если первым был 1C или любой другой чисто прикладной язык). И вообще, перед изучением C/C++ лучше изучить C# (хоть он сразу явно ООП-язык, но осваивать его куда приятнее чем C|C++ и у них много общего), ну или хотя бы, начать с Java или любого другого языка со статической типизацией.
22. evn-zorin 20 16.04.19 20:48 Сейчас в теме
(1)аналогично и справочник Г.Шилд
Лучшая книга по С++ - Роберт Лафоре! может кому пригодиться)
2. s22 19 16.04.19 12:35 Сейчас в теме
с++ становиться современным и слишком сложным языком.
На стороне питона простота.
У с++ на нише питона просто нет шансов.
Но языки будут сближаться впитывая фишки друг друга.
4. DoctorRoza 16.04.19 12:48 Сейчас в теме
(2) ну не питон, а пайтон. А скорее всего, Go затмит плюсы, хоть в нем и нет всяких дженериков и прочее.
5. s22 19 16.04.19 12:59 Сейчас в теме
(4) Питон все таки. Я сектант в этом вопросе. А у Го потребление памяти по любому в 2 раза больше, так как автоматическое управление памятью
8. Darklight 21 16.04.19 13:14 Сейчас в теме
(5)У Питона тоже автоматическое управление памятью. Но да, Go расходует больше - но для скриптовых языков в областях их применения сейчас это совершенно не критично - памяти у компьютеров теперь очень много, даже на смартфонах - её не очень жалко (ну а при обработке Big data должны применяться другие платформы)!
7. Darklight 21 16.04.19 13:11 Сейчас в теме
(4)Ему не нужны дженерики, он же с динамической типизацией.
У Go - мне кажется, нет будущего - гораздо менее изящный язык чем Python, но, впрочем, и Python я бы тоже не назвал особо изящным, но Python всё-таки быстрее набирает популярность, чем Go.
Go - гугловский язык. Не знаю зачем они вообще его разработали, ведь как скриптовый язык - они сейчас Dart (на основе JavaScript) продвигают.
Вряд ли вообще какой-нибудь язык с динамической типизацией затмит C++ в обозримом будущем. Но на перспективу - да, шансы есть - но, возможно, такого динамического языка ещё не появилось. А из статической типизации С++ - его уже затмил язык Java.
9. spacecraft 16.04.19 13:45 Сейчас в теме
(7)
Ему не нужны дженерики, он же с динамической типизацией.

GO с динамической типизацией, да еще скриптовый язык? Мы про один и тот же язык программирования говорим?
GO - язык со строгой статической типизацией. Полностью компилируемый в объектный код целевой машины и исполняется непосредственно. Сравнивать его с Python не корректно. Он аналог С++. Самый большой его плюс по сравнению с С++, это быстрота компиляции.
Solovyeff; +1 Ответить
10. Darklight 21 16.04.19 13:49 Сейчас в теме
(9)Я про Python говорил, ладно, проехали.
11. spacecraft 16.04.19 13:52 Сейчас в теме
(10) круто:
(4) "А скорее всего, Go затмит плюсы, хоть в нем и нет всяких дженериков и прочее."
(7) "(4) Ему не нужны дженерики, он же с динамической типизацией."
(10) "Я про Python говорил, ладно, проехали."
и по скриптовый язык тоже "про Python"?
17. Darklight 21 16.04.19 14:27 Сейчас в теме
(11)Нет - это, я был не точен
12. s22 19 16.04.19 13:55 Сейчас в теме
(9)
GO - язык со строгой статической типизацией. Полностью компилируемый в объектный код целевой машины и исполняется непосредственно. Сравнивать его с Python не корректно. Он аналог С++. Самый большой его плюс по сравнению с С++, это быстрота компиляции.

Сравнивать его с С++ не корректно, вероятно ближе Джава и Шарп, так как автоматическое управление памятью.
14. spacecraft 16.04.19 14:00 Сейчас в теме
(12) вот сравнивать его с Java и C# еще более не корректно. GO полностью компилируемый язык в целевую платформу и не использует виртуальную машину. Так же как и С++.
А то что управление памятью, то во-первых оно (управление памятью) регулируется и можно управлять памятью самим, во-вторых это не принципиально-концептуальное отличие, которое не дает их сравнивать. Отличие С++ от Си еще больше, однако их сравнивают.
15. s22 19 16.04.19 14:25 Сейчас в теме
(14)
это принципиально-концептуальное отличие

Автоматическое управление памятью напрочь убивает RAII.
Это делает языки принципиально разными.
Rust как раз между С++ и JAVA в этом смысле - код требуется писать так(и только так?), что бы на этапе компиляции можно было определить где освобождается память.
18. spacecraft 16.04.19 14:36 Сейчас в теме
(15) ок. QT это новый язык и его нельзя сравнивать с С++? А у него есть сборщик мусора, пусть только для встроенный типов и их производных.
Есть библиотеки и прочие инструменты для автоматической сборки мусора программ на С++.
Не надо пытаться сравнивать код разных ЯП построчно.
20. Darklight 21 16.04.19 14:54 Сейчас в теме
(15)
Автоматическое управление памятью напрочь убивает RAII.

А зачем оно надо? Ну я понимаю - в драйверах там, при работе с оборудованием - это ещё может быть востребовано. Но для решения 95% офисных задача - это только всё усложняет.
Да, и есть поддержка RAII стиля программирования, например, и в С#, и в Python. Но лично я считаю, что это "прошлый век" - а если говорить об алгоритмах описания бизнес-логики - RAII - для них это сущее зло! Будущее - за и языками подходами программирования - где после создания объекта не нужно будет думать о его деструкции - там, где в этом нет прямой потребности, обусловленной логикой приложения - каким-то событием - и эта деструкция никак не должна влиять на устойчивость последующего выполнения алгоритмов.
19. Darklight 21 16.04.19 14:45 Сейчас в теме
(14)У С/С++ тоже есть управление памятью, просто оно не такое автоматическое как, у то же Java. Да и, скажем, поддержка фремворка .NET и полного автоматического управления памятью у MS C++ тоже есть - правда этим никто не пользуется и эта часть уже не развивается.

C# Тоже может полностью компилироваться в целевую платформу. Для Java тоже есть сторонние решения.

Вообще, я считаю - будущее за языками, которые компилируются в LLVM - а далее либо выполняются на виртуальной машине либо компилируются далее уже в байткод инструкций процессора конечной платформы. И там не важно - какой язык был использован для написания исходного текста, в LLVM среде уже все языки равны между собой!
Языки C/C++ имеют компилятор в LLVM, как и много других языков (например Java, Python, Haskell) - а, со временем, их будет ещё больше. Считаю, что даже платформе "1С: Предприятие" в будущем (наверное уже к 9-тому поколению) стоит перейти именно на эту виртуальную машину LLVM, вместо своей стековой - это, как минимум, позволит легко подключать библиотеки, написанные на других языках (например - универсальные алгоритмы писать на относительно низкоуровневых языках, имеющих, минимальные накладные расходы при компиляции в LLVM, а бизнес-логику и интерфейсное взаимодействие писать на более высокоуровневых скриптовых языках - которые в итоге так же будут скомпилированы в единое пространство выполнения LLVM - и все алгоритмы смогут вызывать друг друга независимо от исходного языка). Ну а если и вся платформа будет скомпилирована в LLVM - то она сразу же станет чрезвычайно кросс-платформенной и расширяемой (аддонами)!
6. Darklight 21 16.04.19 13:02 Сейчас в теме
(2)
Но языки будут сближаться впитывая фишки друг друга.

Они уже давно это делают, но языки С/С++ ещё очень долго будут популярны - они не заемными при низокуровневой работе с оборудованием (и его драйверами) и там, где производительность критична (обычно это игровые движки или очень серьёзные математические вычисления).
Там где просто нужна высокая производительность и/или надёжность, или нужна кросплатформенность - сейчас в основном рулит Java (и, значительно в меньшей степени - C#)
JavaScript в основном окупировал клиентский контекст WEB-сегмента (ну просто потому что его все браузеры поддерживают, и случилось эта популяризация ещё до HTML5), да и новые инкарнации JavaScript (и его очень молодого аналога TypeScript) очень даже мощны - так что активно набирают популярность и в бизнес-приложениях - как внутренний скриптовый язык - но обычно в средствах визуализации, особенно если нужна поддержка web-браузера (или использование его движка).
Python - очень популярен именно как внутренний скриптовый язык для различных приложений (от игр до бизнес приложений) - на нем пишут бизнес-логику, когда она не критична по скорости выполнения, но нужна простота и надёжность алгоритма.
SQL - сейчас это стандарт работы с реляционными базами данных - и, видимо, ещё долго будет, несмотря на ущербность своего синтаксиса и сложность отладки.
PHP, Perl - обычно чисто серверные web-языки для обычных сайтов (не требующих сложной логики), хотя простыми я бы их не назвал - применяют там где нет поддержки Java
13. Поручик 4359 16.04.19 13:59 Сейчас в теме
Я как-то начинал с Бьёрна, но Turbo/Borland/Delphi быстро показали, как жить надо.
messulete; sikuda; +2 Ответить
16. s22 19 16.04.19 14:26 Сейчас в теме
(13)
Я как-то начинал с Бьёрна, но Turbo/Borland/Delphi быстро показали, как жить надо.

Аналогично.
21. PerlAmutor 54 16.04.19 19:01 Сейчас в теме
Я как-то начинал с В.В. Подбельского "Язык Си++" 4 изд. 1999 год. В итоге понял, что DOS - прошлый век и перешел на Borland Builder C++ 5. Затем понял, что жизнь есть за пределами MS Windows и пересел на Qt. В последствии понял, что Qt штука классная, но за 1С платят больше и работу тут найти проще. В итоге телом с 1С, а душой с Qt.
VsHome; wowik; YPermitin; +3 Ответить
Оставьте свое сообщение

См. также

ФАС попросит Apple и Google очистить смартфоны для российского ПО

Новость Apple Google Microsoft

Антимонопольная служба предложила привлечь Apple, Google и Microsoft к исполнению закона об обязательной предустановке российских приложений. Компании будут отвечать наравне с производителями и продавцами устройств. 

04.02.2020    1057    VKuser24342747    30       

Почтовый сервис Protonmail заблокирован в России

Новость Интернет ФСБ

Спецслужбы считают, что через Protonmail, рассылались ложные сообщения об угрозах минирования на территории РФ.

03.02.2020    1183    Senator_I    68       

Чешские программисты бесплатно создали сайт, на который правительство хотело потратить 16 млн евро

Новость Государственные, бюджетные структуры Госзакупки Онлайн-торговля

Власти Чехии собирались потратить 16 млн евро на создание интернет-магазина для покупки талонов на проезд по платным дорогам. Местных разработчиков возмутил объем затрат: они организовали хакатон и за выходные бесплатно создали онлайн-магазин.

03.02.2020    1960    user1015646    31       

Лучше, чем Google: «Яндекс» возглавил рейтинг лучших работодателей для студентов в России

Новость Google Образование Яндекс

Сервис поиска вакансий FutureToday составил список лучших работодателей для студентов. На первом месте рейтинга в России – «Яндекс», который в этом году смог обогнать Google. 

31.01.2020    1221    user1015646    6       

Большие перемены: назначен новый министр по цифровому развитию и связи

Новость Власть Цифровая экономика

Новым главой Министерства цифрового развития, связи и массовых коммуникаций стал Максут Шадаев. Он сменил на посту Константина Носкова, который сложил полномочия в связи с отставкой правительства.

28.01.2020    1445    user1015646    16       

Готовьте ваши миллиарды: утверждены новые требования к российским DNS

Новость Интернет Минкомсвязь

Минкомсвязи утвердило требования к операторам связи и интернет-сервисам, выполняющим функции DNS. Такие сервисы должны будут в течение года хранить информацию о пользователях и обеспечивать время отклика не более 100 мс.

28.01.2020    2569    user1015646    0       

Всем даром: доступ к сайтам госуслуг и госорганов станет бесплатным

Новость Интернет Телекоммуникации

Уже с 1 марта зайти на сайты государственных органов и госуслуг можно будет бесплатно. Ресурсы должны открываться, даже если у вас на счете «жирный минус», заявили в Минкомсвязи.

24.01.2020    1653    user1015646    4       

Российские банки перестанут собирать биометрические данные 

Новость Банки Биометрия

Проект по сбору биометрических данных в российских банках решили заморозить. Пополнение единой биометрической системы откладывается на неопределенный срок.

23.01.2020    1775    user1015646    5       

Назначен новый руководитель Федеральной налоговой службы

Новость Налоги ФНС

После того, как Михаил Мишустин стал премьер-министром России, Федеральная налоговая служба получила нового руководителя. Налоговое ведомство возглавил Даниил Егоров.

22.01.2020    1698    ЕленаЧерепнева    22       

Минэкономразвития предложило создать российский аналог GitHub

Новость GitHub Цифровая экономика

Министерство экономического развития (МЭР) предлагает выделить 2,1 млрд рублей на создание российской версии GitHub.

21.01.2020    1863    AnastasiaKl    8       

Путин пообещал «бесплатный» интернет и перевод нацпроектов на отечественное ПО

Новость Импортозамещение Интернет Президент

Это значит, что трафик за подключение к социально-значимым ресурсам россиянам оплачивать не придется, а «технологический» законодательный проект облегчит российским исследователям и предпринимателям доступ к инновациям.

17.01.2020    3258    AnastasiaKl    27       

Полиция не прекратила уголовный процесс против Nginx вопреки просьбе Rambler

Новость Судебная практика

Уголовное дело против разработчиков Nginx все еще не прекращено, несмотря на обещание Rambler отозвать заявление. Сейчас стороны конфликта обмениваются ходатайствами.

15.01.2020    1457    VKuser24342747    13       

С 1 января 2020 года Система быстрых платежей стала платной

Новость Банки Центробанк

С 1 января 2020 года Банк России ввел новые тарифы для банков, которые пользуются Системой быстрых платежей (СБП). В Центробанке пообещали следить за ситуацией и ограничить уровень комиссий за переводы, если это потребуется.

10.01.2020    2069    Senator_I    10       

Партнеры России по ЕАЭС раскритиковали закон о предустановке российского ПО

Новость Гаджеты Мобильные приложения

Представители трех стран-участниц ЕАЭС заявили, что закон противоречит договору о действующем союзе, принципам Всемирной торговой организации (ВТО) по торговле услугами и техническому регламенту Таможенного союза. 

30.12.2019    1781    AnastasiaKl    5       

Поиск повлияет на кредиты: «Яндекс» стал оценивать кредитоспособность россиян

Новость Банки Яндекс

Прежде чем выдать кредит, банк или другая финансовая организация проводит скоринг – рассчитывает балл, который говорит об уровне кредитоспособности потенциального заемщика. Теперь к этому процессу присоединился «Яндекс».

26.12.2019    1920    user1015646    33       

62,5% успешных атак: Минкомсвязи подвело итоги первого отключения интернета

Новость Безопасность Интернет Минкомсвязь

Министерство связи рассказало о результатах первых учений по отключению интернета в России. Несмотря на значительный процент успешных атак, все они были быстро обнаружены и прекращены. 

26.12.2019    2079    VKuser24342747    7       

В Минкомсвязи назвали дату первого отключения интернета

Новость Интернет Минкомсвязь

Евгений Новиков, пресс-секретарь Министерства связи, сообщил, что 23 декабря 2019 года пройдет тестовое отключение интернета.

22.12.2019    5107    VKuser24342747    9       

Нет уголовному преследованию: ИТ-сообщество России поддержало разработчиков nginx

Новость ИТ-компания

Представители российского ИТ-бизнеса высказались в поддержку разработчиков веб-сервера nginx и осудили действия Rambler. Солидарность выразили «Яндекс», Qiwi, «Вконтакте» и другие. 

18.12.2019    2078    VKuser24342747    51       

«Рамблер» хочет отобрать права на Nginx у его разработчика

Новость Судебная практика

На веб-сервере Nginx работают десятки тысяч ресурсов по всему миру. Код Nginx создал экс-сотрудник «Рамблера» Игорь Сысоев. Теперь компания хочет отобрать у разработчика права на ПО. 

16.12.2019    2952    user1015646    283       

Госдума одобрила законопроект о переходе на электронные трудовые книжки

Новость Законодательство Цифровая экономика

С 1 января 2020 года работодатели должны перевести все трудовые книжки сотрудников в электронный вид.  По желанию работника и его письменному заявлению, его трудовую книжку в бумажной форме вести не будут.  

06.12.2019    2865    AnastasiaKl    15       

Власти объяснили необходимость закона об установке российского софта на гаджеты

Новость Импортозамещение Мобильные приложения

Пресс-секретарь президента Дмитрий Песков рассказал, зачем был подписан законопроект. В Кремле убеждены, что документ поможет бороться с монополизацией ИТ-отрасли иностранными разработчиками. 

05.12.2019    2233    VKuser24342747    9       

Путин одобрил обязательную установку отечественного ПО на смартфоны

Новость Законодательство Импортозамещение Мобильные приложения

Производители и продавцы электроники высказывались против законопроекта об обязательной предустановке российского ПО и просили президента не подписывать документ. 

03.12.2019    2176    VKuser24342747    5       

Банк России предложил отменить банковскую комиссию для борьбы с «зарплатным рабством»

Новость Банки Сбербанк Центробанк

ЦБ хочет прекратить доминирование «Сбербанка» как зарплатного банка. Для этого регулятор планирует запретить брать комиссию с физлиц за переводы средств в другие кредитные организации. 

29.11.2019    2436    VKuser24342747    11       

На портале госуслуг зарегистрировался стомиллионный пользователь

Новость Автоматизация Власть

Российский портал госуслуг стал вторым по популярности государственным сайтом в мире. К ноябрю этого года на нем более 100 млн россиян завели учетные записи.

27.11.2019    1987    VKuser24342747    10       

В России начнутся ежегодные учения по отключению интернета

Новость Законодательство Интернет Минкомсвязь

1 ноября 2019 года в силу вступил закон «о суверенном Рунете». Вместе с ним заработало положение об учениях по обеспечению автономности Рунета.

22.11.2019    3387    user-programmist    23