Почему новые языки программирования так и не становятся популярными?

Только за последние несколько лет компания Google представила сразу два новых языка программирования. Первый язык, получивший название К, компания создавала в расчёте на то, что у него получится потеснить архаичные, но до сих пор являющиеся основой языки C и C++. Второй язык, Dart, позиционируется как замена JavaScript, то есть, предназначен для создания приложений, запускаемых в браузере. Но какими бы впечатляющими ни были новые языки, сумеют ли они стать хоть сколь-нибудь популярными, будут ли их использовать для создания серьезных приложений? Или они так и останутся не более чем любопытной разработкой, которая заинтересует только узкий круг специалистов. Ведь новые языки программирования появляются постоянно. Но мало какие из них сумели получить признание широкой аудитории.

Найти ответ на этот вопрос взялись двое учёных – Лео Меерович (Leo Meyerovich) и Ари Рабкин (Ari Rabkin), которые хотят выяснить почему новые языки программирования так и не становятся (или наоборот становятся) популярными. Они уже успели опросить десятки тысяч программистов и получить предварительные данные.

Рабкин считает, что одной из причин этого является тенденция, согласно которой «академики часто стараются разрешить проблемы там, где их просто нет». То есть язык получается интересным, «выделяющимся из толпы», но при этом не слишком-то и полезным. Часто он бывает просто перегружен набором дополнительных функций, наличие которых не только не помогает, но ещё и мешает разработчикам. Вторая же очень серьёзная причина провала многих языков — большинство их разработчиков просто не создают или не в состоянии создать толковую документацию, которая бы раскрывала все аспекты их творения. В то время как «допотопные» языки прекрасно документированы.

Меерович также называет и такой фактор, как банальная лень. Он приводит в качестве примера объектно-ориентированный язык ActionScript, разработанный Adobe. Многим программистам он кажется простым в изучении. Однако для учебы его они выделяют слишком мало времени (например, читая соответствующую литературу по дороге на работу). И когда, после освоения азов, требуется переходить на более сложный уровень, программисты пасуют перед множеством возникающих проблем, преодолеть которые способны далеко не все.

Также, существует и проблема самоуспокоенности. Большинство программистов изучают по 3-4 языка и останавливаются на достигнутом, считая, что этого более чем достаточно. «Со временем, набравшись достаточно опыта, они, вместо того, чтобы узнать больше, просто останавливаются в своем развитии», — сетует Меерович.

К тому же, к 35-40 годам программисты становятся наставниками подрастающего поколения специалистов. К тому времени у них уже нет ни времени, ни желания, ни стимула самим обучаться и внедрять новые языки. Ученый считает, что развитие языков демонстрирует развитие общества в целом.

И если так будет продолжаться и далее, то К и Dart и все остальные новые языки ждёт если не забвение, то крайне низкая популярность. Вполне вероятно, что они так и канут в Лету, пополнив список любопытных, но так и не получивших популярности языков.