Il problema con JavaScript non è il linguaggio stesso: è un linguaggio prototipo e dinamico perfettamente valido. Se vieni da un background OO c'è un po 'di una curva di apprendimento, ma non è colpa della lingua.
Molte persone credono che Javascript sia come Java perché ha una sintassi simile e un nome simile, ma in realtà è molto più simile a lisp. In realtà è abbastanza adatto alla manipolazione del DOM.
Il vero problema è che è compilato dal browser e ciò significa che funziona in modo molto diverso a seconda del client.
Non solo l'attuale DOM è diverso a seconda del browser, ma c'è una grande differenza in termini di prestazioni e layout.
Modifica dopo il chiarimento in questione
Supponiamo che siano supportate più lingue interpretate - hai ancora gli stessi problemi. I vari browser sarebbero comunque difettosi e avere DOM diversi.
Inoltre, dovresti avere un interprete integrato nel browser o in qualche modo installato come plug-in (che potresti verificare prima di pubblicare la pagina) per ogni lingua. Ci sono voluti anni per rendere Javascript coerente.
Non puoi usare i linguaggi compilati allo stesso modo, quindi stai introducendo un eseguibile che non può essere facilmente esaminato per quello che fa. Molti utenti sceglierebbero di non lasciarlo funzionare.
OK, che ne dici di una sorta di sandbox per il codice compilato? Mi sembra Java Applets. O ActionScript in Flash. O C # in Silverlight.
Che dire di un qualche tipo di standard IL? Questo ha più potenziale. Sviluppa in qualsiasi lingua tu voglia e poi compilarlo in IL, che il browser quindi JIT.
Tranne, Javascript è già un po 'quel IL - basta guardare GWT . Ti consente di scrivere programmi in Java, ma di distribuirli come HTML e JS.
Modifica dopo ulteriori chiarimenti in questione
Javascript non è, o meglio non è stato, l'unica lingua supportata dai browser: nei tempi bui di Internet Explorer si poteva scegliere tra Javascript o VBScript da eseguire in IE. Tecnicamente IE non ha nemmeno eseguito Javascript: ha eseguito JScript (principalmente per evitare di dover pagare Sun per la parola java , Oracle possiede ancora il nome Javascript ).
Il problema era che VBScript era proprietario di Microsoft, ma anche che non era molto buono. Mentre Javascript stava aggiungendo funzionalità e ottenendo i migliori strumenti di debug in altri browser (come FireBug) VBScript rimase solo IE e praticamente non debug (gli strumenti di sviluppo in IE4 / 5/6 non esistevano). Nel frattempo VBScript si è anche espanso fino a diventare uno strumento di scripting piuttosto potente nel sistema operativo, ma nessuna di queste funzionalità era disponibile nel browser (e quando lo erano diventavano enormi falle di sicurezza).
Esistono ancora alcune applicazioni interne aziendali che usano VBScript (e alcune si basano su quelle falle di sicurezza), e stanno ancora eseguendo IE7 (hanno fermato IE6 solo perché MS alla fine l'ha ucciso).
Portare Javascript allo stato attuale è stato un incubo e ha impiegato 20 anni. Non ha ancora un supporto coerente, con alcune funzionalità linguistiche (specificate nel 1999) ancora mancanti da alcuni browser e molti shim richiesti.
L'aggiunta di una lingua alternativa per l'interpretazione nei browser deve affrontare due problemi principali:
Consentire a tutti i fornitori di browser di implementare il nuovo standard linguistico, qualcosa che non sono ancora riusciti a utilizzare JavaScript per 20 anni.
Una seconda lingua potenzialmente diluisce il supporto che hai già, consentendo (ad esempio) a IE di avere un supporto Javascript di seconda qualità ma un ottimo VBScript (di nuovo). Non voglio davvero scrivere codice in lingue diverse per browser diversi.
Va notato che Javascript non è "finito" - si sta ancora evolvendo per migliorare nei nuovi browser. L' ultima versione è anni prima delle implementazioni dei browser e stanno lavorando a quella successiva.