Существуют и другие исследования языковой статистики, а не только индекс Tiobe. Шестимесячные языковые рейтинги Redmonk хорошо продуманы и хорошо реализованы, и они раскрывают что-то интересное.
Это показывает, что, за исключением нескольких индивидуалистов, языки, которые популярны сегодня, были в течение некоторого времени. Это не должно удивлять, поскольку, как только язык достиг определенного уровня успеха, он, как правило, остается таким из-за набранного импульса. Вы действительно хотите отбросить все это обучение, не говоря уже о коде?
Таким образом, удивительно, что какой-либо язык когда-либо врывается в существующий набор успеха.
Насколько это может быть трудно?
Создайте лучший язык, и мир проложит себе путь к вашему компилятору.
Нет, не совсем. Разработка нового языка-это игра в кружки, которая неизбежно приведет к одиночеству, разочарованию, пренебрежению и в конечном итоге к неудаче. Это делает его еще более интересным, когда язык делает прорыв и внедряется в психику программиста. Я до сих пор помню, когда я услышал о новом языке под названием Java, на него было не так много смотреть, но это было очень важно; Я смотрел на него, даже если не совсем понимал, почему.
В этом рейтинге за первое полугодие топ-21 (а не 20 из-за связей) :
1 JavaScript2 Java3 PHP4 Python5 C#5 C++5 Ruby8 CSS9 C10 Objective-C11 Perl11 Shell13 R14 Scala15 Go15 Haskell17 Matlab18 Swift19 Clojure19 Groovy19 Visual Basic
Это соответствует общему наброску языкового ландшафта, который распознает большинство программ-полиглотов. Я совсем не уверен в том, чтобы поместить туда CSS, но я полагаю, что, хотя это язык разметки, он является полным по Тьюрингу. Рейтинги получаются путем анализа активности на GitHub и StackOverflow. Вы можете посмотреть на точную методологию на сайте RedMonk, но да, она ошибочна, поскольку все такие косвенные меры, скорее всего, будут, но вы можете быть немного более уверены, узнав, что активность на GitHub и StackOverflow сильно коррелируют и обычно приводят к одинаковым рейтингам. На самом деле интересно посмотреть на языки, которые не имеют высокой корреляции между этими двумя — что они сделали по-другому?
Наиболее заметными выбросами в этом смысле являются Mathamatica, Cuda, Ada, Tex, VimL и SQL, и вы можете видеть, что они не являются примерами языков основного потока.
Возвращаясь к рейтингам, ключевым наблюдением является, как говорится в блоге RedMonk:
«… Топ-10 был статичным. За незначительными исключениями, на самом деле, он оставался статичным в течение нескольких лет. В то время как мы видим периодические аргументы сторонников определенного языка, определенного стиля или типа языка, простой факт заключается в том, что группа наиболее популярных языков мало изменилась и не проявляет склонности к будущим изменениям, хотя есть два заметных потенциальных претендента…»
Два претендента, о которых идет речь, — это Го и Свифт.
Тот факт, что Свифт движется вверх, не является большим сюрпризом. Даже если программистам Apple не нравится их новый язык, у них действительно нет большого выбора, кроме как принять его, по крайней мере, для новых проектов. ObjectiveC, как бы вам это ни нравилось, вероятно, уже на подходе, и было бы глупо прилагать к этому больше усилий, чем это абсолютно необходимо.
Идти — это скорее загадка. Мне это нравится, но я не могу сказать, что есть единственная веская причина использовать его в любых новых проектах — возможно, я просто не пишу программистов, которые достаточно «системны», но я часто использую C. Блог RedMonk также прокомментировал, что, возможно, поскольку будущее Java на Android находится под сомнением из-за юридических проблем с Oracle, возможно, Go просто готовится вмешаться. Я кое-как в этом сомневаюсь.