2012-01-20 3 views
51

Perché i browser non aggiungono il supporto per, ad esempio, lo scripting Python come alternativa a Javascript? O più linguaggi di scripting generici? C'è una ragione per cui Javascript è l'unico implementato attraverso i browser? Dopo tutto, il tag dello script ha il supporto per specificare il linguaggio di scripting utilizzato.Perché javascript è l'unico linguaggio di scripting lato client implementato nei browser?

(so che c'è il supporto di VBScript in IE, ma sembra obsoleto per tutti gli effetti.)

+0

Questo è un tipo di domanda duplicata vedere: http: // stackoverflow.it/questions/340019/what-are-the-best-client-side-scripting-languages-out-there – nycynik

+2

@TomaszNurkiewicz Ho visto Dart. Ma poi sorge la domanda: perché inventare un linguaggio di scripting completamente nuovo per questo quando i browser non supportano nemmeno i linguaggi di scripting popolari esistenti. –

+2

IE supporta ancora vbscript. Dubito che sia usato molto di più - forse su qualche intranet aziendale. – gilly3

risposta

36

Bene, Google sta cercando di invertire questa tendenza con Dart. La comunità non è stata del tutto ricettiva all'idea; o.

Google proposed adding multiple VM support for Webkit che non è andato molto bene.

Un commento particolare ha riassunto bene il motivo per cui non v'è stata una certa resistenza a questo:

In questo caso la funzione sta esponendo linguaggi di programmazione aggiuntive per il web, qualcosa senza un reale beneficio a chiunque rispetto ai fan dell'attuale linguaggio "più fantastico" (non molto tempo fa che sarebbe potuto essere Go, un anno fa questo sarebbe stato rubino, prima di Python, mi ricordo di aver subito una rapida ascesa nella popolarità di haskell non molto tempo fa , Lua è ai margini da molto tempo, in questo caso è Dart - chi dice che non ci sarà un linguaggio completamente diverso in voga in 6 mesi?), Ma come un costo frammenta il web e aggiunge un sostanziali oneri aggiuntivi di manutenzione - solo il mantenimento delle associazioni v8 e jsc non è banale e sono per la stessa lingua.

Il problema qui non è "possiamo far vivere più vmi in webkit" è "possiamo esporre più lingue sul web", al primo dico ovviamente come già facciamo, a quest'ultimo dico che noi non voglio

A meno che non vogliamo trasformare il webkit nel motore che tutti odiano a causa di tutte le sue "caratteristiche" uniche che rompono il web aperto, un certo browser alla fine degli anni '90.

CoffeeScript è un altro esempio di un linguaggio di script emergente sul lato client. Tuttavia, piuttosto che supportare un'altra macchina virtuale in un browser (come Google sta cercando di fare con Dart), compila JavaScript. Ci sono molti altri "compili da X a JavaScript" che lo fanno pure. emscripten è un buon esempio di compilazione di LLVM in JavaScript.

Quindi ci sono molte altre lingue client; usano tutti solo JavaScript come intermedio. Direi che dovrebbe essere quello che fa anche Dart, anche se they have some room to improve.

+13

Quindi sostenere più lingue è considerato contrario al web "aperto" ... L'ironia! –

+0

il problema è che i browser dovrebbero implementare un nuovo interprete per ogni nuova lingua, a meno che ... – PedroD

+0

"alcun beneficio reale per chiunque altro che i fan del linguaggio" più fantastico "corrente (non molto tempo fa che potrebbe essere stato Go , un anno fa questo sarebbe stato rubino, prima che pitone, mi ricordo che ho fatto un breve aumento di haskell ... "- Quindi questi linguaggi sono vecchi e javascript è il linguaggio più moderno !!! Javascript è, era e sarà il linguaggio più fantastico che tutti useranno felicemente nei prossimi 100000 anni !!! Super !!! Adoriamo il javascript perché i browser mayor lo supportano !!! – les

1

perché JavaScript è ciò che ogni altro browser supportato, e produttori di browser avuto due priorità principali:

  1. Verificare che le pagine Web esistenti funzionino (che richiede JavaScript)
  2. Lasciando autori utenti cose visibili nel browser che non potevano fare in altri browser (il cambiamento del linguaggio di programmazione sarebbe completamente nascosto agli utenti, tranne quando si è rotto).
+5

Questo non è un argomento, ma un errore logico. Fondamentalmente, stai dicendo "X, perché X". Semplice ragionamento circolare, quindi non valido. Inoltre, è un classico "appello alla maggioranza". – Evi1M4chine

+9

parlando di logica, correggere il tuo commento è, ma parlando di realtà e mercati, correggere non lo è. – flow

+1

Se suona logico e ragionevole per te perché non essere di supporto invece di ammettere che i mercati sono illogici e la realtà fa schifo, forse lo fanno, ma mi piacerebbe sperare che possiamo sistemare le cose. –

4

Internet Explorer supporta qualsiasi Windows Script Engine, in modo che sia possibile supportare qualsiasi lingua che è stata implementata come una o scrivere da sola.