Рейтинги языков программирования

Что они показывают на самом деле?

Все люди, независимо от их возраста, пола и образования, любят читать разнообразные рейтинги. Не меньше, впрочем, любят они их и составлять, хотя обычно это хобби является прерогативой журналистов и различных аналитических компаний. Программисты - тоже люди, и поэтому существование рейтингов языков программирования вполне естественно.


Рейтинг рейтингу рознь

Любые рейтинги - это, что называется, палка о двух концах. С одной стороны, они, конечно, обычно базируются на каких-то терпеливо собранных данных, а потому так или иначе отражают какие-то тенденции, актуальные для того рынка, на основе которого составлялся рейтинг. С другой стороны, всё-таки рейтинги составляют люди, и совершенно невозможно исключить влияние субъективного фактора на итоговые позиции отдельных участников.

Что касается языков программирования, то здесь рейтинги могут преследовать самые разные цели. Но обычно главный критерий, который служит для выставления "оценок" и раздачи "призовых мест" участникам рейтинга - популярность этих языков. Под популярностью, как правило, понимается количество программистов, работающих на том или ином языке. Иногда для рейтингов используют иные показатели - среднюю зарплату программистов, которые пишут на этом языке, количество проектов на SourceForge.net и прочие не менее наглядные "пузомерки".

Какова основная цель рейтингов? Их авторы пишут, что они стараются помочь молодому поколению, которое стоит на распутье и выбирает, на чем ему программировать, и приводят массу ничуть не менее благих целей. Но, конечно, ни для кого не секрет, что основная цель создателей подобных рейтингов - это пиар и продвижение себя любимых. Многие рейтинги составляются обычно just for fun и, как правило, именно они служат наиболее плодородной почвой для разнообразных "холиваров". Но большая часть рейтингов, к сожалению или счастью, остаётся обсуждаемой совсем недолго просто по причине недостаточной авторитетности их составителей.


Tiobe

Наиболее авторитетным из всех по языкам программирования может считаться рейтинг, составляемый компанией Tiobe Software. Индекс популярности TIOBE не пытается определить лучший язык программирования по самому большому количеству написанных строк кода, а строит свои доводы по изменению интереса к языкам на основе анализа статистики запросов Google, Google Blogs, Yahoo!, Wikipedia, MSN и даже YouTube.

Индекс Tiobe обновляется ежемесячно, последние результаты (на момент написания заметки - за апрель 2011) можно найти по адресу www.tiobe.com/index.php/content/paperinfo/tpci/index.html. Если вам станет интересно, какими критериями руководствуются составители этого рейтинга, какие языки имеют шансы в него войти и прочие подробности, то стоит посетить страницу www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm (осторожно, там всё на английском). Рейтинг Tiobe показывает не только текущую позицию языка программирования, но и её динамику, то есть говорит, какие языки программирования становятся более популярными, а какие, напротив, теряют своих сторонников.

На апрель 2011-го "топ" выглядел следующим образом:

  1. Java
  2. C
  3. C++
  4. C#
  5. PHP
  6. Python
  7. (Visual) Basic
  8. Objective-C
  9. Perl
  10. JavaScript
  11. Ruby
  12. Lua
  13. Delphi
  14. Assembly
  15. Lisp
  16. Ada
  17. Pascal
  18. Transact-SQL
  19. Scheme
  20. Go

Что показывает рейтинг Tiobe? Фактически, это действительно достаточно точный индикатор популярности того или иного языка программирования в мировом масштабе. Но его минус - как раз глобальность. То есть высокая позиция того или иного языка в этом рейтинге вовсе не гарантирует, что вы найдёте работу, зная самый высокорейтинговый язык, именно в вашем городе или даже в целом географическом регионе. Зато для выбора языка при реализации проекта командой удалённых друг от друга разработчиков рейтинг Tiobe подходит достаточно неплохо.


LangPop

Ещё один достаточно распространённый аргумент в споре программистов "кто ж всё-таки нужнее" - это langpop.com. Сейчас этот сайт, как следует из расположенной на нём информации, продаётся, так что если вы готовы заплатить "reasonable price", не забудьте написать текущему владельцу сайта.

Тем не менее, несмотря на грядущую (и, наверное, достаточно скорую) перепродажу ресурса, его владелец не забывает регулярно обновлять данные и графики. Методика расчета рейтинга во многом похожа на аналогичную от Tiobe Software, но здесь несколько отличается список тех ресурсов, откуда берутся данные для итогового анализа: на LangPop "правят бал" Yahoo!, CraigsList, Powell's Books, Freshmeat, Google Code, Ohloh и масса других популярных ресурсов, связанных с программированием и достаточно далёких от него.

Надо сказать, что различие в источниках данных у Tiobe и LangPop ощущается уже буквально с первых строк рейтинга: если в первом случае самым популярным языком получается Java, то во втором на это звание претендует уже C. Вообще же "пьедестал" выглядит следующим образом:

  1. C
  2. Java
  3. C++
  4. PHP
  5. JavaScript
  6. Python
  7. C#
  8. Perl
  9. SQL
  10. Ruby
  11. Shell
  12. Visual Basic
  13. Assembly
  14. Actionscript
  15. Objective C
  16. Lisp
  17. Delphi
  18. Pascal
  19. Scheme
  20. Haskell
  21. Tcl
  22. Fortran
  23. Ada
  24. Lua
  25. ColdFusion
  26. Cobol
  27. Erlang
  28. D
  29. Scala
  30. Smalltalk
  31. OCaml
  32. Forth

Если говорить о том, что показывает этот рейтинг, то здесь отличия от Tiobe Software и их рейтинга минимальны. С другой стороны, за счёт возможности просмотреть статистику для отдельных источников данных (то есть, для отдельных сайтов) можно попытаться как-то отфильтровать итоговую позицию того или иного языка программирования с учетом популярности тех или иных сайтов в конкретных географических регионах. Но возможность эта является чисто гипотетической, потому что реально говорить о том, что del.icio.us популярен, например, в той же Беларуси или на Украине (это только для примера) и поэтому его результаты более репрезентативны, чем результаты того же Google Code, на мой взгляд, достаточно сложно.


Ohloh

Сайт www.ohloh.net, наверняка известный многим из наших читателей, позиционирует себя как социальная сеть для разработчиков и пользователей свободного программного обеспечения. "Ну и пусть себе позиционирует, - скажете вы, - при чем тут рейтинги языков программирования?". А при том, что у этого сайта есть собственная достаточно любопытная статистика по языкам программирования.

Просмотреть её можно по адресу www.ohloh.net/languages/compare. Эта статистика, в отличие от двух рассмотренных нами выше, строится не на основании запросов в поисковых системах, а по количеству "коммитов" кода, "закомиченного" разработчиками свободного ПО, зарегистрированными на сайте. Прямо на странице можно сравнить между собой разные языки программирования и узнать, например, что в процентном соотношении код на C постоянно уменьшается, в то время как для той же Java видны лишь незначительные колебания, а для PHP и вовсе наблюдается уверенный рост. Можно сравнить также не процентные соотношения, а абсолютные величины, и считать не только "коммиты", но и количество разработчиков, количество изменившихся за месяц строк кода, количество активных проектов...

В общем, в полной мере этот любопытный инструмент сравнения языков программирования друг с другом рейтингом не является, потому что не ранжирует их все по шкале, возводя какие-то на пьедестал, а на какие-то навешивая ярлык второсортных и невостребованных. Но, вместе с тем, как я уже говорил выше, разработчики в своих блогах, да и многие журналисты в своих статьях любят ссылаться на "рейтинг Ohloh", поэтому вполне можно рассматривать инструмент сравнения языков на этом сайте именно как своеобразный рейтинг.

Теперь давайте подумаем о том, что он может нам показать. Увы, как и в случае с первыми двумя рейтингами, не так уж и много - он говорит нам, максимум, о том, какие языки программирования востребованы среди разработчиков свободного программного обеспечения. Поскольку сообщество поклонников свободного ПО - среда довольно своеобразная, то и принимать этот рейтинг как руководство к действию точно не стоит. Например, сейчас весьма востребованы специалисты по Objective-C. Если же судить по Ohloh, то этот язык востребован примерно на том же уровне, что и достаточно экзотическая и малораспространённая "Ада". Ну и, опять-таки, никакой привязки к географическому региону здесь, в принципе, нет. В итоге получается, как говорится, "средняя температура по больнице".


Выводы

Можно было бы рассмотреть и другие рейтинги языков программирования, которые не ограничиваются поисковыми запросами или "коммитами" в открытые проекты, но, думаю, ситуация в целом и так понятна. Рейтинги, как и следовало ожидать, - не более чем повод для размышлений. И как полезная информация они могут рассматриваться, скорее, инвесторами, заказчиками проектов или основателями различных стартапов, выбирающими технологическую базу под свои идеи, нежели теми, кто выбирает, какой язык программирования начать изучать. Последним лучше посмотреть на количество вакансий по той или иной специальности (например, на 9-й странице в "Компьютерных вестях") и уже исходя из этого делать соответствующие выводы.

SF

Версия для печатиВерсия для печати

Номер: 

16 за 2011 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя mike
Лично я делю программеров на 2 категории: тех, кто знает C и пишет на нём, и остальных.

Веб-дизайнеров тоже делю на 2 категории: тех, кто знает PHP и использует его, и остальных.

Юзеров я тоже делю на 2 категории: тех, у кого основная ОС не Венда, и остальных.

Всех остальных я делю на две категории: тех, кто читает по-английски, и остальных.

Сисады не попадают ни в одну из перечисленных категорий.

Аватар пользователя Al
Что-то я не въехал - в этой классификации где моё место, если при этом я не попадаю ни в одну из них? )))) Майк, что это была за трава?
Аватар пользователя Эдуард
>>Лично я делю программеров на 2 категории: тех, кто знает C и пишет на нём, и остальных.

:) Мне пофик, кто на чем пишет. Есть те, кто в состоянии реализовать идею в конечный код, который реализует требуемую функцию, и те, кто не в состоянии.

Для решения своих задач и запуска на сервере я использую вообще экзотический WinBatch, но он тупо совместим с вендой, прост и надежен. А то, что мне надо, делает на "ура"... Хотя и пасквиль знаю немного.

:)... и тут начался священный крестовый си-плюсовый хуливар.

Аватар пользователя mike
>в этой классификации где моё место

Так и знал, что Al это спросит!

>я использую вообще экзотический WinBatch

А я баш, который не упомянут. Обида...

Аватар пользователя mike
2Al. Сисад -- это образ жизни. См.: http://lurkmore.ru/images/7/79/Sysadm_unaware.jpg
Аватар пользователя Al
Был я на одном из слётов сисадминов, городском правда. И даже занял там первое место по всем номинациям. )))
Аватар пользователя mike
И по пиву?
Аватар пользователя Al
Пива было много, но я его не пью. Народ знает это, и поэтому я принимаю "подарки" хорошим белым сухим вином. )))
Аватар пользователя mike
>Пива ... не пью.

Правильно. От него амбре.

Аватар пользователя Logic
<?Php не нужен?> - А php-ист?

http://andrei.nsk.ru/lj/monstration-2011/IMG_1451.jpg

Страницы