Mengapa hanya ada dukungan untuk JavaScript dan beberapa VBScript di browser hari ini? Saya tahu JavaScript itu baik dan semuanya, tetapi tidak memiliki opsi untuk menggunakan bahasa pemrograman lain membantu mempromosikan gaya pengembangan yang berbeda?
web-development
javascript
browser
Eric Packwood
sumber
sumber
Jawaban:
Tidak perlu menambahkan dukungan untuk beberapa bahasa, solusinya adalah dengan melakukan standarisasi pada bytecode generik yang dapat digunakan oleh pelaksana bahasa. Tetapi saat ini tidak ada rencana untuk ini (sudah disarankan).
Bahasa juga dapat diimplementasikan di atas Javascript. Javascript cukup baik untuk memungkinkan bahasa lain diimplementasikan di atasnya. Dan sudah banyak contohnya.
sumber
<script type="text/cpp" src="test.cpp"></script>
.JavaScript adalah standar de-facto dan telah ada sejak tahun 1996. Menjadi standar hanya karena tidak ada persaingan yang tidak adil, tetapi saya belum pernah mendengar banyak keluhan tentang mengapa tidak ada bahasa lain yang disertakan.
Menambahkan bahasa "standar" yang lain mempromosikan segala macam masalah kecil yang menyenangkan.
sumber
Pikirkan ketidakkonsistenan antar browser untuk dukungan mereka terhadap javascript saja. Sekarang pikirkan bagaimana jadinya jika ada lebih banyak bahasa.
sumber
Peramban harus distandarisasi, sehingga apa yang Anda kembangkan berfungsi di mana saja, di semua peramban.
Jika Anda memiliki banyak bahasa, maka Anda harus memastikan bahwa mereka semua memiliki kinerja yang sangat mirip. Jika Anda seorang pengembang web dan Anda memiliki pilihan bahasa, yang mungkin didukung atau tidak didukung di beberapa lokasi, maka itu adalah sakit kepala tambahan.
Javascript adalah bahasa yang sangat fleksibel, sangat penting, fungsional, bisa OOP (setelah mode dengan prototipe), dan ditafsirkan. Sekarang dengan mesin yang layak seperti di Chrome, itu cukup mampu melakukan beberapa hal baik. Bahasa tambahan hanya akan mengatur hal-hal di sini, lihat VBScript, hanya IE, dan segala sesuatu yang tertulis di dalamnya terikat ke browser dan platform tertentu, mimpi buruk.
sumber
Alih-alih membangun ini menjadi browser, vendor lebih suka membangun plug-in browser yang kikuk - Java, Flash, Silverlight, dll. Ini menjamin konsistensi lintas platform.
sumber
Salah satu alasannya adalah bahwa hampir tidak mungkin bagi vendor browser yang berbeda untuk menyepakati implementasi Javascript standar dan Javascript telah ada selamanya, setidaknya dari perspektif bahasa web. Jadi sebagian besar orang dengan tepat berpikir bahwa memasukkan bahasa sisi klien lain ke dalam ekosistem dan meminta semua vendor untuk mendukungnya secara praktis tidak mungkin dan sebagian besar orang yang berpotensi mewujudkannya sudah terlibat dalam masalah standardisasi Javascript yang menurut saya jauh lebih baik. gunakan waktu mereka.
sumber
Ada beberapa tanggapan di sini yang mengklaim bahwa mendukung banyak bahasa akan membuatnya sangat menjijikkan bagi pembangun peramban web untuk memastikan mereka patuh dengan semua bahasa. Bagi saya ini sepertinya tidak benar.
Java, misalnya adalah standar yang didefinisikan dengan sangat baik. Pada dasarnya, semua yang perlu Anda lakukan adalah mengekspos DOM browser sebagai Java API, dan menjalankan Java Virtual Machine (JVM) di dalam browser web Anda. Anda dapat menentukan bahwa kode skrip harus dikirimkan dalam bentuk file JAR yang dikompilasi dan ditandatangani, atau sebagai kode sumber JavaScript. Jika peramban menjumpai JavaScript, ia dapat menjalankannya melalui penerjemah khusus (seperti halnya saat ini), atau melalui Badak di atas JVM. Jika menemukan file jar, itu menciptakan loader kelas baru dan sandbox keamanan, memuat bytecode java ke dalam memori dan menjalankannya. Ini akan sepenuhnya kompatibel dengan halaman web yang ada, dan akan memungkinkan browser, dengan satu pukulan, untuk mendukung puluhan bahasa yang berjalan di JVM.
Keuntungan lain:
sumber
Saya percaya JavaScript akan mendapatkan lebih banyak dasar sebagai bahasa standar untuk Web. Kami melihat peningkatan JavaScript di sisi server. Berikut adalah beberapa contoh implementasi bahasa yang kuat ini di server:
POW Web Server SJS - JavaScript sisi server untuk POW Web Server, yang berjalan sebagai Ekstensi Firefox atau sebagai Aplikasi XULRunner. SJS memainkan peran yang mirip dengan PHP di Apache karena dapat terhubung ke database dan menghasilkan konten sisi klien.
NodeJS - JavaScript sisi server yang menggunakan model berbasis peristiwa. Itu dibangun menggunakan Google JavaScript V8 Engine . NodeJS diiklankan sebagai alat untuk membangun program jaringan yang dapat diskalakan. Server Web "Hello World" hanya dapat ditulis dalam 6 baris pendek!
Jaxer - Server JavaScript yang menginterpretasikan semua blok skrip dengan
runat="server"
JavaScript sisi-server. Seluruh aplikasi Web dapat ditulis dalam JavaScript.Badak - JavaScript untuk Java - Mozilla menciptakan implementasi JavaScript sisi-server yang berjalan di Jawa. Ini pada dasarnya konsep yang mirip dengan PHP Querces untuk Java , Jython, JRuby, dan banyak abstraksi lain dari bahasa lain yang berjalan di JVM. Badak biasanya digunakan untuk menanamkan JavaScript ke Jawa untuk menyediakan alat skrip untuk pengguna akhir, tetapi juga dapat digunakan untuk memindahkan kode sisi klien ke server tanpa harus menulis ulang logika bisnis dalam bahasa lain!
JQuery Claypool - Kerangka kerja JavaScript sisi-server menggunakan kekuatan JQuery di server. Sangat keren! Ini dikembangkan menggunakan implementasi JavaScript sisi server EnvJs browser.
EnvJs - Browser tanpa kepala yang dibangun di atas Badak.
Apa yang ditunjukkan oleh banyak implementasi dan kerangka kerja ini adalah bahwa JavaScript menjadi kekuatan yang sangat kuat dalam pengembangan Web sehingga para pemimpin komunitas sudah mulai memindahkan JavaScript ke server. JavaScript adalah bahasa pemrograman fungsional yang sangat kuat, dan seiring berjalannya waktu saya merasa kita akan melihatnya berkembang.
Singkatnya, sepertinya ada kontradiksi untuk mem-porting bahasa-bahasa lain ke browser ketika sebaliknya kita bisa mem-porting bahasa browser tunggal ini ke server dan menjembatani celah itu dengan cara yang lebih terpadu.
sumber
Ada beberapa contoh alat yang akan mengkompilasi bahasa lain ke javascript, termasuk Haskel, Lisp dan Python (Mungkin yang lain). Jadi, jika Anda ingin bekerja dalam salah satu bahasa itu, Anda bisa melakukannya.
Dan saya pikir salah satu profesor saya dari universitas menulis implementasi skema dalam Javascript. Jadi, jika Anda suka skema, Anda bisa melakukannya juga.
sumber
Orang-orang telah bekerja di sekitar kurangnya variasi bawaan dalam dua cara: menggunakan plugin seperti flash atau applet java, dan membangun lapisan yang menggunakan javascript sebagai "kode mesin" mereka, seperti jquery atau google web toolkit. Jika ada gaya pengembangan baru yang cukup populer, orang akan menemukan cara untuk mendapatkannya.
Perlu diketahui jika Anda membuat runtime .net di javascript, dan itu menjadi populer, lingkaran tertentu akan mengutuk nama Anda di internet selamanya.
sumber