El problema con JavaScript no es el lenguaje en sí, es un lenguaje perfectamente prototipado y dinámico. Si vienes de un entorno OO, hay una pequeña curva de aprendizaje, pero no es culpa del idioma.
La mayoría de la gente supone que Javascript es como Java porque tiene una sintaxis similar y un nombre similar, pero en realidad es mucho más parecido a lisp. En realidad, es bastante adecuado para la manipulación DOM.
El verdadero problema es que está compilado por el navegador, y eso significa que funciona de una manera muy diferente dependiendo del cliente.
El DOM real no solo es diferente según el navegador, sino que hay una gran diferencia en el rendimiento y el diseño.
Editar siguiente aclaración en cuestión
Supongamos que se admiten varios idiomas interpretados: aún tiene los mismos problemas. Los distintos navegadores seguirían teniendo errores y tendrían diferentes DOM.
Además, tendría que tener un intérprete integrado en el navegador o instalado de alguna manera como complemento (que podría comprobar antes de publicar la página) para cada idioma. Se necesitaron años para que Javascript fuera consistente.
No puede usar los lenguajes compilados de la misma manera, entonces está introduciendo un ejecutable que no puede ser fácilmente examinado por lo que hace. Muchos usuarios elegirían no dejarlo correr.
Bien, ¿qué pasa con algún tipo de sandbox para el código compilado? Suena como Applets de Java para mí. O ActionScript en Flash. O C # en Silverlight.
¿Qué pasa con algún tipo de estándar IL? Eso tiene más potencial. Desarrolle en el idioma que desee y luego compílelo en IL, que el navegador luego JIT.
Excepto que Javascript ya es una especie de IL, solo mira GWT . Le permite escribir programas en Java, pero distribuirlos como HTML y JS.
Editar después de una aclaración adicional en cuestión
Javascript no es, o más bien no fue, el único idioma admitido por los navegadores: en la era oscura de Internet Explorer, podría elegir entre Javascript o VBScript para ejecutarse en IE. Técnicamente, IE ni siquiera ejecutó Javascript: ejecutó JScript (principalmente para evitar tener que pagarle a Sun por la palabra java , Oracle aún posee el nombre Javascript ).
El problema era que VBScript era propiedad de Microsoft, pero también que no era muy bueno. Mientras Javascript estaba agregando funcionalidad y obteniendo herramientas de depuración de alta velocidad en otros navegadores (como FireBug), VBScript se mantuvo solo en IE y prácticamente no se podía depurar (las herramientas de desarrollo en IE4 / 5/6 no existían). Mientras tanto, VBScript también se expandió para convertirse en una herramienta de script bastante poderosa en el sistema operativo, pero ninguna de esas características estaba disponible en el navegador (y cuando lo fueron se convirtieron en agujeros de seguridad masivos).
Todavía hay algunas aplicaciones internas corporativas que usan VBScript (y algunas dependen de esos agujeros de seguridad), y todavía están ejecutando IE7 (solo detuvieron IE6 porque MS finalmente lo eliminó).
Llevar Javascript a su estado actual ha sido una pesadilla y ha llevado 20 años. Todavía no tiene soporte consistente, con características de lenguaje (especificadas en 1999) que todavía faltan en algunos navegadores y se requieren muchas cuñas.
Agregar un idioma alternativo para interpretar en los navegadores enfrenta dos problemas principales:
Lograr que todos los proveedores de navegadores implementen el nuevo estándar de idioma, algo que aún no han logrado para Javascript en 20 años.
Un segundo idioma potencialmente diluye el soporte que ya tiene, permitiendo (por ejemplo) que IE tenga un soporte Javascript de segundo nivel pero un gran VBScript (nuevamente). Realmente no quiero escribir código en diferentes idiomas para diferentes navegadores.
Cabe señalar que Javascript no está 'terminado', todavía está evolucionando para mejorar en nuevos navegadores. La última versión está años por delante de las implementaciones de los navegadores y están trabajando en la próxima.