Odpowiadając na pytanie - nie, to nie miałoby sensu.
Obecnie najbardziej zbliżone do wielojęzycznej maszyny wirtualnej są JVM i CLR. To nie są do końca lekkie bestie i nie ma sensu próbować umieszczać czegoś takiego rozmiaru i złożoności w przeglądarce.
Przeanalizujmy pomysł, że można napisać nową, wielojęzyczną maszynę wirtualną, która byłaby lepsza niż istniejące rozwiązanie.
- Zalegasz ze stabilnością.
- Zalegasz ze złożonością (o wiele za wiele, ponieważ próbujesz uogólniać na wiele języków)
- Zalegasz z adopcją
Więc nie, to nie ma sensu.
Pamiętaj, że aby obsługiwać te języki, będziesz musiał rozebrać ich interfejsy API w coś gwałtownego, wycinając wszelkie części, które nie mają sensu w kontekście skryptu przeglądarki. Jest tu do podjęcia ogromna liczba decyzji projektowych i duża szansa na popełnienie błędu.
Jeśli chodzi o funkcjonalność, prawdopodobnie i tak naprawdę pracujemy tylko z DOM, więc tak naprawdę jest to kwestia składni i języka, w którym momencie warto zapytać „Czy to naprawdę jest tego warte?”
Mając na uwadze, jedyne , o czym mówimy, to skrypty po stronie klienta, ponieważ skrypty po stronie serwera są już dostępne w dowolnym języku. To stosunkowo niewielka arena programowania, więc korzyści z wprowadzenia wielu języków są wątpliwe.
Jakie języki warto byłoby wprowadzić? (Ostrzeżenie, następuje subiektywny materiał)
Wprowadzenie języka takiego jak C nie ma sensu, ponieważ jest stworzony do pracy z metalem, aw przeglądarce nie ma naprawdę dużo dostępnego metalu.
Wprowadzenie języka takiego jak Java nie ma sensu, ponieważ i tak najlepszą rzeczą w tym jest API.
Wprowadzenie języka takiego jak Ruby czy Lisp nie ma sensu, ponieważ JavaScript jest potężnym dynamicznym językiem bardzo zbliżonym do Scheme.
Wreszcie, który twórca przeglądarki naprawdę chce obsługiwać integrację DOM dla wielu języków? Każda implementacja będzie miała swoje własne, specyficzne błędy. Przeszliśmy już przez ogień, radząc sobie z różnicami między MS Javascript i Mozilla Javascript, a teraz chcemy pomnożyć ten ból pięć lub sześć razy?
To nie ma sensu.