Java больше не самый популярный язык программированния. Oh, really?

3 мая 2012, 09:35
java Вопросы о том, какой язык программирования популярнее, или какой язык актуальнее учить неофиту в мире кодирования, несомненно, волнующи, но по своей сути недалеко ушли от классического: «Кто кого заборет, Рембо или Терминатор?» Отвечающие на эти вопросы различные рейтинги популярности языков в своём абсолютном смысле объективны и полезны на практике не более чем любой другой познавательный топ: яркий заголовок, хороший трафик и минимум осмысленного содержания. Тем не менее имеет смысл взглянуть и на них, сравнить между собой и попытаться проанализировать весь этот вал цифр и полосок на графиках. Тем более что недавно вышедший рейтинг TIOBE – одного из самых популярных индексов языков программирования – принёс новость, которую большинство уже, наверное, слышало: язык Java впервые за последние лет пять уступил первую строчку другому языку программирования. Как известно, этот индекс базируется на основе обработки определённым алгоритмом выдачи поисковиков по запросам, связанными с языками программирования. И возглавил его старый добрый C, который на протяжении многих лет сохранял значительную долю на рынке, а в последние время эта доля даже потихоньку прирастает. tiobe С++ примерно на прежних позициях, а наибольший прогресс за прошедший год, что совсем не должно удивлять, показывает Objective-C, который совсем скоро уже должен выйти на третье место. Среди каких-то заметных движений можно отметить и падение популярность PHP и Python (последний, к слову, в последние время, наоборот, был одним из лидеров по приросту признания у программистов). tiobe Если посмотреть данные за длительный период времени, то здесь, как и прежде, можно отметить общие тенденции: активно растут проценты Objective-C и C#, в то время как доля Java неуклонно снижается на протяжении последних десяти лет. Стоит отметить и увеличивающуюся фрагментацию популярности языков: если раньше можно выделить было несколько основных языков, которые безоговорочно владели умами и рабочими местами программистов, то сейчас только Java и C могут похвастать уровнем признания выше 10 процентов. Аналогичные данные, также основанные на обработке выдачи поисковиков, приводит индекс The Transparent Language Popularity Index. По его данным, С также вышел на первое место, впрочем, здесь удивляться нечему, поскольку фактически база данных у обоих рейтингов общая, вопрос только в алгоритмах обработки. Кроме рейтинга Tiobe, вызывающего столько критики, одним из самых популярных инструментов оценки популярности тех или иных языков служит статистика ресурсов сервисов Github и Stack Overflow, а конкретно количество проектов в первом на определённом языке и количество тэгов по языкам в вопросах и ответах второго, ну или самих вопросов. tiobeРейтинг языков программирования на RedMonk На данном графике от Red Monks Programming данные по вышеназванным сервисам представлены за февраль текущего года. Здесь, как мы можем видеть, первенство по количеству тэгов-упоминаний в соответствующих вопросах держит отнюдь не С, а С#, в свою очередь совсем немного от него отстаёт и Java. При этом Java входит и в число самых используемых языков на проектах в Github, где бал правят JavaScript и Ruby. tiobeСтатистика вопросов на StackOverflow согласно Cape Coder Более того, если посмотреть на график количества вопросов на одну из апрельских недель от Cape Coder, то можно увидеть, что больше всего терзаний и желания получить консультацию по той или иной проблеме относятся как раз к Java. tiobeДвадцать самых популярных языков программирования по версии Book Sales Если уже идти до конца и смотреть такие (также весьма абстрактные) данные о популярности того или иного языка программирования, как данные о продажах соответствующей литературы, то и здесь мы можем увидеть, что интерес к Java ни разу не упал, а книжек стали покупать только больше. Несколько нетипично, но спрос на C# и Objective-C литературу по сравнению с 2010 годом при этом упал. Если сравнить все источники данных, то можно увидеть, что, как и полагается индексам, они фактически все друг другу противоречат. И это неудивительно, ведь каждый из них имеет свои недостатки. Если говорить о TIOBE – то здесь о популярности языка будут свидетельствовать и такие запросы как Java sucks, да и просто оценка выдачи поисковиков дело само по себе весьма неблагодарное. Что же касается данных с Stack Overflow – тут мы видим рейтинг условной «обсуждаемости» языков. Вопрос во многом может стоять в качестве документации, да и просто известности тех или иных стандартных болячек и проблем. Если они уже в большей части известны и описаны, значит их проще «нагуглить», чем писать на Stack Overflow и ждать, пока тебе кто-нибудь ответит. Насчёт литературы – так и вовсе набор условностей, вопрос во многом колебаний покупательской способности и выхода определённых популярных изданий. Например, несмотря на падение интереса к Objective-C, одной из самых продаваемых книг в 2011 году была Beginning iPhone 4 Development. Если попытаться всё же проанализировать, то в той или иной степени правы все источники, несмотря на разную направленность трендов. Java, наверное, остаётся самым популярным языком программирования, количество проектов, пишущих на нём программистов, количество вакансий – всё это в случае с Java не уменьшается. Java – это основной язык enterprise-разработки, и никуда сам по себе он не денется, плюс к тому не стоит забывать растущую популярность Android-разработки. С другой стороны, есть предпосылки и к тенденции падения популярности Java, и к росту традиционных C/C++. Во-первых, действия Oracle, которая сейчас судится с Google. Подобная агрессивная судебная политика создает компании владельца Java имидж «suing-happy», что несколько пугает других представителей ИТ-бизнеса в плане инвестиций в соответствующие проекты и образование сотрудников. Таким образом, Java движется в сторону in-house-девелопмента – развития крупных корпораций, так или иначе завязанных на Oracle. Во-вторых, бурно растущий рынок облачных сервисов. Для провайдеров подобных сервисов вопрос производительности ПО актуален как никогда. И сложно сомневаться, что по этому вопросу Java выглядит не в лучшем свете. Росту популярности С/С++ должен способствовать и тот же рынок мобильных устройств и планшетов, к слову, так что тенденция, отражённая в графиках TIOBE вполне имеет право на существование и претензии на определённую объективность. Заголовки о том, что популярность Java стремительно падает и данный язык становится тупиковым путём развития (об этом уже писать пытались ещё года полтора назад), вряд ли несут в себе что-то, кроме «заряда на клики». Но вот тенденция постепенного снижения доли рынка для Java, а также определённый рост популярности C/C++ вполне имеют место быть.
Обсуждение