«Преобладание JavaScript - историческая случайность или что-то еще?»
Я лично придерживаюсь мнения, что успех JS - это вопрос дизайна столько же, сколько многие были и будут испытывать отвращение, чтобы признать это, а не просто случайность или просто из-за того, что это был первый ребенок на детской площадке.
Несмотря на то, что названный так, чтобы он обращался к разработчикам Java, и синтаксис, подобный синтаксису на основе Java, также обращался к разработчикам Java, Брендан Айх (Brendan Eich) принял одно из самых задиристых решений в истории www, которое должно было исходить главным образом из Scheme для реальной языковой механики. Вдохновение, которое разработчикам Java, похоже, не очень понравилось (что я нахожу очень забавным).
JavaScript использует очень гибкое / гранулированное наследование прототипов для ООП, имеет замыкания, типы являются на 100% динамическими, сами функции являются первоклассными, что позволяет передавать их, как любой другой объект или тип данных, и повторно использовать в различных контекстах и даже применяются к объектам на лету, как если бы они были объявлены как фактические члены объекта с самого начала. Это практически кричащее использование для управляемых событиями архитектур, которые должны нормализовать тонну проприетарного мусора или решать очень нелинейные проблемы пользовательского интерфейса.
В конце рассвета Интернета это единственный язык, который когда-либо серьезно подходил к задаче нормализации браузеров посредством реальной войны браузеров, когда Netscape и IE пытались сделать что-то по-другому, а затем более 10 лет браузер Перемирие, когда IE просто делал вещи по-другому, потому что MS ленив и самоуверен в некоторых справедливо глупых антиконкурентных методах, приводящих к стагнации браузера, и теперь мир, где браузеры наконец начинают соглашаться на ту же общую спецификацию в отношении HTML, CSS и DOM API с IE всего лишь на 2-3 года отстают от последних разработок, а не на 10 из-за того, что Google и Mozilla выпустили JIT-компиляторы, благодаря которым показатели производительности IE выглядят настолько жалкими, что MS наконец-то постаралась должным образом модернизировать свои проклятые браузеры.IE9 является первым, кто действительно серьезно обновил поддержку API DOM до уровней, которые Netscape поддерживал еще в 2000-х годах.
JS участвовал в конкурсе в форме Java-апплетов и Adobe ActionScript для Flash. Вот и все на серьезном фронте соперника. MS пыталась подтолкнуть VB, но с треском провалилась, потому что ... ну ... VB. Также запатентованный. На самом деле Flash-сайтов было намного больше, чем думает большинство людей. Вы просто не могли найти глупости с помощью поисковых систем. Апплеты сделали свое дело, и это было ужасно. Очень некрасиво JS был единственным языком, который действительно решал проблему работы в контексте нескольких браузеров людьми, которые не соглашались с тем, кто устанавливает спецификации, с которыми они должны были соответствовать.
В последние годы JS расширяется в область применения. В сочетании с другими веб-технологиями он предназначен для того, чтобы в основном отбросить все остальные решения на мобильный фронт, поскольку веб-технология it + действительно является единственным реальным выбором на данный момент, если вы действительно хотите написать одно приложение и заставить его работать на всем.
Так что нет, и да, я большой поклонник, но я не думаю, что это случайно смутило всех остальных претендентов на стороне клиента, так же как это становится взрывно популярным вне браузера, теперь можно считать случайностью. До JS не было много языков, подобных Схемам, которые не были бы в основном академическими. Это дало JS некоторые мощные преимущества, а уникальные потребности клиентской части позволили этим преимуществам постепенно стать кристально чистыми.