"Apakah dominasi JavaScript adalah kecelakaan historis atau sesuatu yang lain?"
Saya pribadi berpendapat bahwa kesuksesan JS adalah masalah desain sebanyak yang telah dan akan terus membenci untuk mengakuinya dan bukan hanya kecelakaan atau hanya karena fakta bahwa itu adalah anak pertama di taman bermain.
Meskipun dinamai untuk menarik pengembang Java dan sintaksisnya seperti sintaksis berbasis Java C juga untuk menarik pengembang Java, Brendan Eich membuat salah satu keputusan paling buruk dalam sejarah www yang terutama menarik dari Skema untuk mekanik bahasa aktual inspirasi, yang merupakan sesuatu yang tampaknya tidak disukai banyak pengembang Java (yang menurut saya sangat lucu).
JavaScript menggunakan pewarisan prototypal yang sangat fleksibel / granular untuk OOP, ia memiliki penutup, tipe 100% dinamis, fungsi itu sendiri adalah kelas satu yang memungkinkannya untuk diedarkan seperti objek atau tipe data lain dan digunakan kembali dalam konteks yang berbeda dan bahkan diterapkan pada objek dengan cepat seolah-olah mereka telah dinyatakan sebagai anggota objek yang sebenarnya dari awal. Praktis berteriak untuk digunakan untuk arsitektur berbasis acara yang perlu menormalkan satu ton sampah milik atau menangani masalah UI yang sangat non-linear.
Pada akhir awal web, itu adalah satu-satunya bahasa yang pernah secara serius melakukan tugas normalisasi browser melalui perang browser yang sebenarnya di mana Netscape dan IE mencoba melakukan hal-hal yang berbeda dengan sengaja, diikuti oleh browser yang lebih dari 10 tahun. gencatan senjata di mana IE hanya melakukan hal-hal yang berbeda karena MS malas dan mengakar sendiri ke dalam beberapa praktik anti-persaingan yang benar-benar bodoh yang mengakibatkan stagnansi browser, dan sekarang dunia di mana browser akhirnya mulai menyepakati spesifikasi umum yang sama dalam hal HTML, CSS dan DOM API dengan IE hanya 2-3 tahun di belakang perkembangan terakhir daripada 10 karena Google dan Mozilla menghancurkan kompiler JIT yang membuat angka kinerja IE terlihat begitu menyedihkan. MS akhirnya dipermalukan untuk memodernisasi browser mereka dengan benar.IE9 adalah yang pertama untuk benar-benar serius meningkatkan dukungan DOM API ke tingkat yang Netscape dukung kembali di tahun 2000an.
JS telah memiliki kompetisi dalam bentuk Java Applets dan Adobe's ActionScript for Flash. Itu saja di bagian depan pesaing serius. MS mencoba mendorong VB tetapi gagal total karena ... yah ... VB. Juga, milik. Sebenarnya ada lebih banyak situs Flash daripada yang disadari kebanyakan orang. Anda tidak dapat menemukan hal-hal konyol dengan mesin pencari. Applet melakukan hal mereka sendiri, dan itu jelek. Sangat jelek. JS adalah satu-satunya bahasa yang benar-benar menangani masalah bekerja dalam konteks beberapa browser oleh orang-orang yang tidak sepakat tentang siapa yang mengatur spesifikasi yang seharusnya cocok dengan mereka.
Dalam beberapa tahun terakhir JS telah meledak menjadi domain aplikasi yang jauh lebih luas. Dalam kombinasi dengan teknologi web lainnya, ini pada dasarnya dirancang untuk mengetuk semua solusi lainnya di bagian depan seluler karena + teknologi web adalah satu-satunya pilihan realistis saat ini jika Anda benar-benar ingin menulis satu aplikasi dan membuatnya bekerja pada semuanya.
Jadi tidak, dan ya saya penggemar berat, tapi saya pikir itu tidak menabrak semua pesaing lain di sisi klien secara tidak sengaja karena menjadi populer di luar browser bisa dianggap sebagai kecelakaan sekarang. Sebelum JS, tidak ada banyak bahasa seperti Skema di luar sana yang tidak terutama akademis. Itu memberi JS beberapa keuntungan yang kuat dan kebutuhan unik dari sisi klien memungkinkan keuntungan tersebut perlahan menjadi jernih.