Soruyu cevaplamak - Hayır, mantıklı değil.
Şu anda çok dilli bir VM'ye en yakın şey JVM ve CLR'dir. Bunlar tam olarak hafif canavarlar değildir ve bu boyutta ve karmaşıklıkta bir şeyi bir tarayıcıya yerleştirmek mantıklı olmaz.
Mevcut çözümden daha iyi olacak yeni, çok dilli bir VM yazabileceğiniz fikrini inceleyelim.
- İstikrardasınız.
- Karmaşıklık içindesiniz (yol, yol, arkada çünkü birden fazla dilde genelleme yapmaya çalışıyorsunuz)
- Evlat edinmek için geride kaldın
Yani, hayır, mantıklı değil.
Unutmayın, bu dilleri desteklemek için API'lerini şiddetli bir şeylerden arındırmanız ve bir tarayıcı komut dosyası bağlamında mantıklı olmayan parçaları kesmeniz gerekeceğini unutmayın. Burada verilecek çok sayıda tasarım kararı ve hata için çok büyük bir fırsat var.
İşlevsellik açısından, biz sadece muhtemelen konum gerçekten DOM ile çalışıyoruz, bu yüzden bu gerçekten bir sözdizimi ve dil idomu sorunu, bu noktada "Bu gerçekten buna değer mi?" Diye sormak mantıklı.
Akılda tutarak, sadece bahsettiğimiz şey, istemci tarafı komut dosyası oluşturmaktır, çünkü sunucu tarafı komut dosyası, istediğiniz herhangi bir dilde zaten mevcuttur. Bu nispeten küçük bir programlama arenasıdır ve bu nedenle birden fazla dili getirmenin yararı tartışmalıdır.
Hangi dilleri getirmek mantıklı olur? (Uyarı, subjektif malzeme aşağıdaki gibidir)
C gibi bir dile getirmek mantıklı değil çünkü metalle çalışmak için yapılmış ve bir tarayıcıda gerçekten fazla metal yok.
Java gibi bir dile getirmek mantıklı değil çünkü bununla ilgili en iyi şey API'ler.
Ruby veya Lisp gibi bir dile getirmek mantıklı değil çünkü JavaScript, Şema'ya çok yakın güçlü bir dinamik dildir.
Son olarak, hangi tarayıcı üreticisi birden çok dil için DOM entegrasyonunu desteklemek istiyor? Her uygulamanın kendine özgü hataları olacaktır. MS Javascript ve Mozilla Javascript arasındaki farklarla uğraşan ateşten geçtik ve şimdi bu acıyı beş veya altı kat ile çarpmak istiyoruz?
Mantıklı değil.