JavaScript входит в тройку самых популярных языков программирования в мире (два других — Python и Java). Причина этого в огромной популярности и спросе на веб-приложения, а JavaScript — единственный язык программирования, встроенный в веб-браузер.

Этот факт оправдывает многие зверства, совершенные при разработке и эволюции JavaScript за четверть века с момента его дебюта в 1995 году. Я хочу быть предельно ясным: ни один язык не совершенен. В каждом языке программирования есть свои особенности и технические компромиссы. Такова природа дизайна языка программирования.

Но JavaScript выводит это на совершенно новый уровень ужаса. Эта статья напоминает всем, что за крайне небрежный дизайн языка приходится платить высокую цену: когнитивная нагрузка, которую программист должен нести в ходе своей работы.

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

Кайл Симпсон, сторонник JS, хорошо резюмирует свои WTF:

Распространенные ошибки JavaScript: список

Сборник ошибок JavaScript

Джаваскриптовый сад

wtfjs

Я считаю, что эта когнитивная нагрузка является основной причиной того, что JavaScript является одним из наименее продуктивных основных языков программирования, согласно исследованию 2017 года, опубликованному Capers Jones.

Неудивительно, что существует процветающая кустарная индустрия транспилируемых языков — языков программирования, которые компилируются в код JavaScript. Вот несколько примеров: TypeScript, Elm, Haxe, PureScript, ClojureScript, Kotlin, Dart, Scala.js, PharoJS, Transcrypt (Python).

Да, спрос на разработчиков JavaScript высок. Возможность трудоустройства — опьяняющий эликсир. Но я предлагаю, чтобы мы не были овцами. Сражайтесь за любимый язык программирования, будь то Python, Ruby, Dart, Clojure или Smalltalk.