Javascript è compilato o un linguaggio interpretato? [chiuso]


151

Javascript può essere definito un linguaggio interpretato puro? O ha anche un po 'di sapore compilato? Qualcuno potrebbe guidare le ragioni dietro entrambe le cose, qualunque sia vero.


31
Si prega di considerare l'aggiunta di un commento quando si vota verso il basso in modo da poter migliorare la domanda. Grazie.
netemp

2
@Blindy: stai menzionando che la distinzione tra compilato e interpretato non dovrebbe esserci affatto?
netemp

23
5 voti negativi e nemmeno un singolo commento che cita il motivo per cui il voto negativo era lì. Un po 'deludente.
netemp

1
Potrebbe essere un modo comune di classificare le lingue, ma ciò non lo rende più utile.

1
@NetEmp (nota che non ho effettuato il downgrade, ma ho votato per migrare ai programmatori) Questo è il posto sbagliato in cui porre questo tipo di domanda - leggi le FAQ su quali domande porre qui - questo dovrebbe essere nella sezione di programmazione di StackExchange
Manse

Risposte:


72

Vai a leggere le risposte a questa domanda

/software/138521/is-javascript-interpreted-by-design

La risposta che ho accettato è eccellente e dovrebbe aiutarti a rispondere alla tua domanda.

Personalmente, sono piuttosto cauto nell'idea di chiamare una lingua interpretata o compilata. È una decisione di implementazione, non fa parte delle specifiche del linguaggio. Se vuoi parlare di JavaScript compilato o interpretato, chiedilo nel contesto di un'implementazione effettiva della specifica del linguaggio.


19

JavaScript viene interpretato in fase di esecuzione dal browser del client. Tuttavia, esiste uno strumento chiamato compilatore JavaScript di Rhino che presumibilmente compila JavaScript in file di classe Java.


7
Che dire di V8 e simili?

25
V8 non ha mai incluso niente di simile a un interprete, e la maggior parte dei principali motori JS dispongono ormai di compilatori JIT. Quindi, dire che "JavaScript viene interpretato" è ovviamente sbagliato (o forse la tua definizione di interprete / compilatore lo è).

@delnan: grazie per l'intuizione di V8. Pertanto, JS non è un linguaggio puramente interpretato.
netemp,

2
Compilatore JavaScript di Rhino. Sai, se vuoi che la tua lingua interpretata sia interpretata da una lingua interpretata diversa.
Trevor Hickey,

1
Come altri hanno già detto, questo non è più vero da qualche tempo. Sì, all'inizio potresti dire che Javascript è stato interpretato, ma da allora ha fatto molta strada .
John Weisz,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.