Как менялась популярность языков программирования год от года
Популярность языка по версии поисковых систем в данный конкретный момент может быть не связана напрямую с его реальными достоинствами, однако если язык держится в топе десяток лет — то на это стоит обратить внимание программисту, обдумывающему житье.
Компания TIOBE Software (ее название отсылает к пьесе Оскара Уальда «Как важно быть серьезным», «The Importance Of Being Earnest») уже второй десяток лет ежемесячно составляет рейтинг TIOBE Index, в котором языки программирования ранжируются с учетом количества поисковых запросов, содержащих названия языков на сайтах Google, Bing, Yahoo, Wikipedia, Amazon, YouTube и Baidu. Чтобы язык включили в рейтинг, он должен удовлетворять ряду условий: поиск в Google по запросу « programming» должен возвращать больше 5 тыс. результатов, он должен быть «полным по Тьюрингу» и у него должна быть своя страница в Википедии, на которой должно быть четко указано, что язык является языком программирования.
В TIOBE подчеркивают, что рейтинг не отражает качественные характеристики языков и количество написанных на них строк кода, но может использоваться для оценки актуальности навыков разработчика в области владения различными языками программирования или при выборе инструмента для разработки новой системы. На количество поисковых запросов может влиять много различных факторов, но в целом индекс TIOBE согласуется с другими рейтингами популярности языков программирования. Сентябрьские результаты почти не отличаются от прошлогодних. Первую пятерку составляют Java, C, Python, C++ и C# (последний поменялся местами с Visual Basic .NET), в первой десятке — тоже знакомые все лица. А вот на 11 место скакнул Groovy, если верить Википедии — швейцарский нож софтверной индустрии: «объектно-ориентированный язык программирования, разработанный для платформы Java как дополнение к языку Java с возможностями Python, Ruby и Smalltalk». Изменения за год в первой двадцатке рейтинга
Сентябрь 2019 г. | Сентябрь 2018 г. | Язык программирования | Рейтинг | Изменение рейтинга |
---|---|---|---|---|
1 | 1 | Java | 16,66% | -0,78% |
2 | 2 | C | 15,20% | -0,24% |
3 | 3 | Python | 9,87% | 2,22% |
4 | 4 | C++ | 5,63% | -1,76% |
5 | 6 | C# | 3,40% | 0,10% |
6 | 5 | Visual Basic .NET | 3,29% | -2,02% |
7 | 8 | JavaScript | 2,13% | 0,00% |
8 | 9 | SQL | 1,94% | -0,12% |
9 | 7 | PHP | 1,86% | -0,91% |
10 | 10 | Objective-C | 1,84% | 0,33% |
11 | 34 | Groovy | 1,50% | 1,20% |
12 | 14 | Assembly language | 1,38% | 0,15% |
13 | 11 | Delphi/Object Pascal | 1,33% | 0,04% |
14 | 16 | Go | 1,22% | 0,14% |
15 | 12 | Ruby | 1,21% | -0,08% |
16 | 15 | Swift | 1,10% | -0,12% |
17 | 20 | Visual Basic | 1,08% | 0,40% |
18 | 13 | Matlab | 1,06% | -0,21% |
19 | 18 | R | 1,05% | 0,03% |
20 | 17 | Perl | 1,05% | -0,02% |
Источник: www.tiobe.com, 2019 В Tiobe также создали «Зал славы» языков программирования, опубликовав перечень «Языков программирования года», начиная с 2003-го. Награда присуждается языку программирования с самым высоким ростом рейтинга за год. «Зал славы» языков программирования
Год | Язык программирования |
---|---|
2018 | Python |
2017 | C |
2016 | Go |
2015 | Java |
2014 | JavaScript |
2013 | Transact-SQL |
2012 | Objective-C |
2011 | Objective-C |
2010 | Python |
2009 | Go |
2008 | C |
2007 | Python |
2006 | Ruby |
2005 | Java |
2004 | PHP |
2003 | C++ |
Источник: www.tiobe.com, 2019 Если говорить о заметных изменениях последних лет в топе TIOBE, можно отметить существенный рост интереса к Python: в августе этот язык даже достиг рекордного результата за всю историю (10,2%), в сентябре немного сдал (9,87%), но все равно этот результат лучше, чем год назад, когда Python стал «Языком года» по версии TIOBE. Отчасти это обусловлено бурным ростом применения средств искусственного интеллекта, машинного обучения и аналитики данных на предприятиях и наличием обширного сообщества разработчиков, сформировавшегося за три десятка лет существования языка.
Впрочем, взлеты свидетельствуют о росте интереса к языку в конкретном месяце, более информативны значения усредненных годовых показателей. Лидеры среднегодовых рейтингов
Язык программирования | 2019 | 2014 | 2009 | 2004 | 1999 | 1994 | 1989 |
---|---|---|---|---|---|---|---|
Java | 1 | 2 | 1 | 1 | 14 | — | — |
C | 2 | 1 | 2 | 2 | 1 | 1 | 1 |
Python | 3 | 7 | 5 | 7 | 24 | 21 | — |
C++ | 4 | 4 | 3 | 3 | 2 | 2 | 2 |
Visual Basic .NET | 5 | 9 | — | — | — | — | — |
C# | 6 | 5 | 6 | 6 | 19 | — | — |
JavaScript | 7 | 8 | 8 | 8 | 16 | — | — |
PHP | 8 | 6 | 4 | 5 | — | — | — |
SQL | 9 | — | — | 89 | — | — | — |
Objective-C | 10 | 3 | 31 | 38 | — | — | — |
Perl | 16 | 11 | 7 | 4 | 3 | 10 | 22 |
Lisp | 32 | 13 | 19 | 13 | 12 | 5 | 3 |
Pascal | 220 | 16 | 14 | 88 | 6 | 3 | 20 |
C августа по запросам российских пользователей в рейтинг стали включать встроенный язык программирования семейства приложений «1С:Предприятие» (как «1C:Enterprise script») — в дебютный месяц он занял 140 место, и ныне находится где-то в середине второй сотни. В Tiobe также поступила просьба о том, чтобы при составлении рейтинга учитывались поисковые запросы не только на английском, но и на других языках. В ответ в компании сообщили, что работают над обеспечением подсчета количества запросов на китайском языке, совершаемых к системе Baidu.
TIOBE Index for July 2023
This month the following changes have been made to the definition of the index:
Very Long Term History
To see the bigger picture, please find below the positions of the top 10 programming languages of many years back. Please note that these are average positions for a period of 12 months.
Programming Language | 2023 | 2018 | 2013 | 2008 | 2003 | 1998 | 1993 | 1988 |
---|---|---|---|---|---|---|---|---|
Python | 1 | 4 | 8 | 7 | 12 | 25 | 19 | — |
C | 2 | 2 | 1 | 2 | 2 | 1 | 1 | 1 |
Java | 3 | 1 | 2 | 1 | 1 | 18 | — | — |
C++ | 4 | 3 | 4 | 4 | 3 | 2 | 2 | 5 |
C# | 5 | 5 | 5 | 8 | 9 | — | — | — |
Visual Basic | 6 | 15 | — | — | — | — | — | — |
JavaScript | 7 | 7 | 11 | 9 | 8 | 22 | — | — |
SQL | 8 | 251 | — | — | 7 | — | — | — |
PHP | 9 | 8 | 6 | 5 | 6 | — | — | — |
Assembly language | 10 | 13 | — | — | — | — | — | — |
Fortran | 19 | 30 | 27 | 21 | 13 | 7 | 3 | 16 |
Objective-C | 21 | 17 | 3 | 42 | 54 | — | — | — |
Ada | 25 | 27 | 19 | 19 | 16 | 10 | 5 | 3 |
Lisp | 29 | 31 | 12 | 16 | 14 | 8 | 6 | 2 |
(Visual) Basic | — | — | 7 | 3 | 5 | 3 | 8 | 6 |
There are 2 important remarks here:
- There is a difference between «Visual Basic» and «(Visual) Basic» in the table above. Until 2010, «(Visual) Basic» referred to all possible dialects of Basic, including Visual Basic. After some discussion, it has been decided to split «(Visual) Basic» into all its dialects such as Visual Basic .NET, Classic Visual Basic, PureBasic, and Small Basic, just to name a few. Since Visual Basic .NET has become the major implementation of Visual Basic, it is now called «Visual Basic».
- The programming language SQL was added to the TIOBE index in 2018 after somebody pointed out that SQL is Turing Complete. So although this language is very old, it has only a short history in the index.
Programming Language Hall of Fame
The hall of fame listing all «Programming Language of the Year» award winners is shown below. The award is given to the programming language that has the highest rise in ratings in a year.
Year | Winner |
---|---|
2022 | C++ |
2021 | Python |
2020 | Python |
2019 | C |
2018 | Python |
2017 | C |
2016 | Go |
2015 | Java |
2014 | JavaScript |
2013 | Transact-SQL |
2012 | Objective-C |
2011 | Objective-C |
2010 | Python |
2009 | Go |
2008 | C |
2007 | Python |
2006 | Ruby |
2005 | Java |
2004 | PHP |
2003 | C++ |
Bugs & Change Requests
This is the top 5 of most requested changes and bugs. If you have any suggestions how to improve the index don’t hesitate to send an e-mail to tpci@tiobe.com.
- Apart from “ programming”, also other queries such as “programming with ”, “ development” and “ coding” should be tried out.
- Add queries for other natural languages (apart from English). The idea is to start with the Chinese search engine Baidu. This has been implemented partially and will be completed the next few months.
- Add a list of all search term requests that have been rejected. This is to minimize the number of recurring mails about Rails, JQuery, JSP, etc.
- Start a TIOBE index for databases, software configuration management systems and application frameworks.
- Some search engines allow to query pages that have been added last year. The TIOBE index should only track those recently added pages.