Проблема с javascript заключается не в самом языке - это очень хороший прототип и динамический язык. Если вы пришли из ОО, у вас есть некоторая кривая обучения, но это не ошибка языка.
Большинство людей предполагают, что Javascript похож на Java, потому что у него похожий синтаксис и похожее имя, но на самом деле это больше похоже на lisp. Это на самом деле очень хорошо подходит для манипулирования DOM.
Настоящая проблема в том, что он компилируется браузером, и это означает, что он работает по-разному в зависимости от клиента.
Мало того, что фактический DOM отличается в зависимости от браузера, но есть огромная разница в производительности и макете.
Изменить следующее уточнение в вопросе
Предположим, что поддерживаются несколько интерпретируемых языков - у вас все еще есть те же проблемы Различные браузеры по-прежнему будут глючить и иметь разные DOM.
Кроме того, вам потребуется встроенный в браузер переводчик или каким-либо образом установленный в качестве плагина (который вы можете проверить перед тем, как открыть страницу) для каждого языка. Потребовались годы, чтобы привести Javascript в соответствие.
Вы не можете использовать скомпилированные языки таким же образом - тогда вы вводите исполняемый файл, который не может быть легко исследован на предмет того, что он делает. Многие пользователи предпочли бы не запускать его.
ОК, а как насчет песочницы для скомпилированного кода? Звучит как апплеты Java для меня. Или ActionScript во Flash. Или C # в Silverlight.
А как насчет стандарта IL? Это имеет больший потенциал. Разработка на любом языке, который вы хотите, а затем скомпилируйте его в IL, который затем JIT браузер.
За исключением того, что Javascript уже похож на IL - просто посмотрите на GWT . Это позволяет вам писать программы на Java, но распространять их как HTML и JS.
Изменить после дальнейшего уточнения в вопросе
Javascript не является или, скорее, не является единственным языком, поддерживаемым браузерами: в темные времена Internet Explorer можно было выбирать между Javascript или VBScript для работы в IE. Технически IE даже не запускал Javascript - он запускал JScript (в основном, чтобы избежать необходимости платить Sun за слово java , Oracle все еще владеет именем Javascript ).
Проблема заключалась в том, что VBScript был проприетарным для Microsoft, но также и в том, что он был не очень хорош. В то время как Javascript добавлял функциональность и получал высокоскоростные инструменты отладки в других браузерах (например, FireBug), VBScript оставался только для IE и практически не отлаживался (инструментов для разработки в IE4 / 5/6 не было). Тем временем VBScript также расширился и стал довольно мощным скриптовым инструментом в ОС, но ни одна из этих функций не была доступна в браузере (и когда они были, они стали огромными дырами в безопасности).
Есть все еще некоторые корпоративные внутренние приложения, которые используют VBScript (и некоторые полагаются на эти дыры в безопасности), и они все еще используют IE7 (они только остановили IE6, потому что MS наконец-то убила его).
Приведение Javascript в его текущее состояние было кошмаром и заняло 20 лет. Он по-прежнему не имеет постоянной поддержки, так как языковые функции (указанные в 1999 году) по-прежнему отсутствуют в некоторых браузерах и требуются многочисленные шайбы.
Добавление альтернативного языка для перевода в браузерах сталкивается с двумя основными проблемами:
Заставить всех поставщиков браузеров внедрить новый языковой стандарт - то, что им не удалось сделать в Javascript в течение 20 лет.
Второй язык потенциально ослабляет поддержку, которую вы уже имеете, что позволяет (например) IE иметь вторую поддержку Javascript, но отличный VBScript (опять же). Я действительно не хочу писать код на разных языках для разных браузеров.
Следует отметить, что Javascript не «закончен» - он все еще развивается, чтобы стать лучше в новых браузерах. Последняя версия на годы опережает реализаций браузеров и они работают над следующей.