Le problème avec javascript n'est pas le langage lui-même - c'est un langage parfaitement prototypé et dynamique. Si vous venez d'un milieu OO, il y a un peu de courbe d'apprentissage, mais ce n'est pas la faute du langage.
La plupart des gens supposent que Javascript est comme Java parce qu'il a une syntaxe similaire et un nom similaire, mais en fait c'est beaucoup plus comme lisp. Il est en fait assez bien adapté à la manipulation DOM.
Le vrai problème est qu'il est compilé par le navigateur, ce qui signifie qu'il fonctionne d'une manière très différente selon le client.
Non seulement le DOM réel est différent selon le navigateur, mais il y a une énorme différence dans les performances et la mise en page.
Modifier après la clarification en question
Supposons que plusieurs langues interprétées soient prises en charge - vous rencontrez toujours les mêmes problèmes. Les différents navigateurs seraient toujours bogués et auraient des DOM différents.
De plus, vous devrez avoir un interpréteur intégré au navigateur ou installé en tant que plug-in (que vous pourriez vérifier avant de servir la page) pour chaque langue. Il a fallu des siècles pour que Javascript soit cohérent.
Vous ne pouvez pas utiliser les langages compilés de la même manière - alors vous introduisez un exécutable qui ne peut pas facilement être examiné pour ce qu'il fait. De nombreux utilisateurs choisiraient de ne pas le laisser fonctionner.
OK, alors qu'en est-il d'une sorte de bac à sable pour le code compilé? Cela ressemble à des applets Java pour moi. Ou ActionScript dans Flash. Ou C # dans Silverlight.
Qu'en est-il d'une sorte de norme IL? Cela a plus de potentiel. Développez dans le langage de votre choix, puis compilez-le en IL, que le navigateur utilise ensuite JIT.
Sauf que Javascript est déjà un peu cette IL - il suffit de regarder GWT . Il vous permet d'écrire des programmes en Java, mais de les distribuer au format HTML et JS.
Modifier suite à une clarification supplémentaire en question
Javascript n'est pas, ou plutôt n'était pas, le seul langage pris en charge par les navigateurs: à l'époque sombre d'Internet Explorer, vous pouviez choisir entre Javascript ou VBScript pour s'exécuter dans IE. Techniquement, IE n'a même pas exécuté Javascript - il a exécuté JScript (principalement pour éviter d'avoir à payer Sun pour le mot java , Oracle possède toujours le nom Javascript ).
Le problème était que VBScript était la propriété de Microsoft, mais aussi qu'il n'était tout simplement pas très bon. Alors que Javascript ajoutait des fonctionnalités et obtenait des outils de débogage de premier ordre dans d'autres navigateurs (comme FireBug), VBScript restait uniquement IE et pratiquement non déboguable (les outils de développement dans IE4 / 5/6 n'existaient pas). Pendant ce temps, VBScript s'est également développé pour devenir un outil de script assez puissant dans le système d'exploitation, mais aucune de ces fonctionnalités n'était disponible dans le navigateur (et quand elles l'étaient, elles sont devenues d'énormes failles de sécurité).
Il existe encore des applications internes d'entreprise qui utilisent VBScript (et certaines s'appuient sur ces failles de sécurité), et elles exécutent toujours IE7 (elles n'ont arrêté IE6 que parce que MS l'a finalement tué).
Mettre Javascript dans son état actuel a été un cauchemar et a pris 20 ans. Il n'a toujours pas de support cohérent, avec des fonctionnalités de langage (spécifiées en 1999) toujours absentes de certains navigateurs et de nombreux shims sont nécessaires.
L'ajout d'une autre langue d'interprétation dans les navigateurs se heurte à deux problèmes majeurs:
Faire en sorte que tous les fournisseurs de navigateurs implémentent le nouveau standard de langage - quelque chose qu'ils n'ont toujours pas réussi pour Javascript depuis 20 ans.
Un deuxième langage dilue potentiellement le support que vous avez déjà, permettant (par exemple) à IE d'avoir un support Javascript de second ordre mais un excellent VBScript (encore une fois). Je ne veux vraiment pas écrire du code dans différentes langues pour différents navigateurs.
Il convient de noter que Javascript n'est pas «fini» - il évolue encore pour devenir meilleur dans les nouveaux navigateurs. La dernière version a des années d'avance sur les implémentations des navigateurs et ils travaillent sur la suivante.