Masalah dengan javascript bukan bahasa itu sendiri - itu adalah bahasa prototipe dan dinamis yang sangat baik. Jika Anda berasal dari latar belakang OO, ada sedikit kurva pembelajaran, tetapi itu bukan kesalahan bahasa.
Kebanyakan orang beranggapan bahwa Javascript seperti Java karena memiliki sintaksis yang sama dan nama yang mirip, tetapi sebenarnya itu jauh lebih mirip cisp. Ini sebenarnya cukup cocok untuk manipulasi DOM.
Masalah sebenarnya adalah bahwa itu dikompilasi oleh browser, dan itu berarti ia bekerja dengan cara yang sangat berbeda tergantung pada klien.
Tidak hanya DOM yang sebenarnya berbeda tergantung pada browser, tetapi ada perbedaan besar dalam kinerja dan tata letak.
Edit klarifikasi berikut dalam pertanyaan
Misalkan beberapa bahasa yang ditafsirkan didukung - Anda masih memiliki masalah yang sama. Berbagai browser akan tetap bermasalah dan memiliki DOM yang berbeda.
Selain itu, Anda harus memiliki juru bahasa yang terpasang di browser atau dipasang sebagai plug in (yang dapat Anda periksa sebelum menyajikan halaman) untuk setiap bahasa. Butuh waktu lama untuk mendapatkan Javascript yang konsisten.
Anda tidak dapat menggunakan bahasa yang dikompilasi dengan cara yang sama - maka Anda memperkenalkan yang dapat dieksekusi yang tidak dapat dengan mudah diteliti apa yang dilakukannya. Banyak pengguna akan memilih untuk tidak menjalankannya.
OK, jadi bagaimana dengan semacam kotak pasir untuk kode yang dikompilasi? Kedengarannya seperti Java Applet bagi saya. Atau ActionScript di Flash. Atau C # di Silverlight.
Bagaimana dengan semacam standar IL? Itu lebih potensial. Kembangkan dalam bahasa apa pun yang Anda inginkan dan kemudian kompilasikan ke IL, yang oleh browser lalu JIT.
Kecuali, Javascript sudah agak seperti itu IL - lihat saja GWT . Ini memungkinkan Anda menulis program di Jawa, tetapi mendistribusikannya sebagai HTML dan JS.
Edit klarifikasi lebih lanjut berikut yang dipertanyakan
Javascript bukan, atau lebih tepatnya bukan, satu-satunya bahasa yang didukung oleh browser: kembali di zaman Internet Explorer gelap Anda dapat memilih antara Javascript atau VBScript untuk dijalankan di IE. Secara teknis IE bahkan tidak menjalankan Javascript - itu menjalankan JScript (terutama untuk menghindari harus membayar Sun untuk kata java , Oracle masih memiliki nama Javascript ).
Masalahnya adalah bahwa VBScript adalah milik Microsoft, tetapi juga bahwa VBScript tidak begitu baik. Sementara Javascript menambahkan fungsionalitas dan mendapatkan alat debugging tingkat atas di browser lain (seperti FireBug) VBScript tetap hanya untuk IE dan cukup banyak yang tidak dapat di-debuggable (dev tools di IE4 / 5/6 tidak ada). Sementara itu VBScript juga berkembang menjadi alat skrip yang cukup kuat di OS, tetapi tidak ada fitur yang tersedia di browser (dan ketika itu mereka menjadi lubang keamanan besar).
Masih ada beberapa aplikasi internal perusahaan di luar sana yang menggunakan VBScript (dan beberapa mengandalkan lubang keamanan itu), dan mereka masih menjalankan IE7 (mereka hanya menghentikan IE6 karena MS akhirnya mematikannya).
Mendapatkan Javascript ke keadaan saat ini telah menjadi mimpi buruk dan telah memakan waktu 20 tahun. Itu masih tidak memiliki dukungan yang konsisten, dengan fitur bahasa (ditentukan pada tahun 1999) masih hilang dari beberapa browser dan banyak shims yang diperlukan.
Menambahkan bahasa alternatif untuk menafsirkan di browser menghadapi dua masalah utama:
Membuat semua vendor browser menerapkan standar bahasa baru - sesuatu yang mereka masih belum berhasil untuk Javascript dalam 20 tahun.
Bahasa kedua berpotensi melemahkan dukungan yang sudah Anda miliki, memungkinkan (misalnya) IE untuk memiliki dukungan Javascript tingkat kedua tetapi VBScript yang hebat (lagi). Saya benar-benar tidak ingin menulis kode dalam berbagai bahasa untuk browser yang berbeda.
Perlu dicatat bahwa Javascript belum selesai - masih berevolusi menjadi lebih baik di peramban baru. Versi terbaru adalah beberapa tahun sebelum implementasi browser dan mereka sedang bekerja pada yang berikutnya.