O Javascript é compilado ou uma linguagem interpretada? [fechadas]

151

O Javascript pode ser chamado de linguagem interpretada pura? Ou ele também tem algum sabor compilado? Alguém poderia guiar as razões por trás de ambas as coisas, o que quer que seja verdade.

netemp
fonte
31
Considere adicionar um comentário ao votar para que a pergunta possa ser melhorada. Obrigado.
Netemp 08/03
2
@ Blindy: você está mencionando que a distinção entre compilada e interpretada não deveria estar lá?
netemp 8/03/12
23
5 votos negativos, e nem um único comentário citando o motivo pelo qual o voto negativo estava lá. Um pouco decepcionante.
netemp 8/03/12
1
Pode ser uma maneira comum de classificar idiomas, mas isso não o torna mais útil.
1
@NetEmp (note que eu não diminuí a votação - mas votei para migrar para programadores) Este é o lugar errado para fazer esse tipo de pergunta - leia as perguntas frequentes sobre quais perguntas fazer aqui - isso deve estar na seção de programação do StackExchange
Manse

Respostas:

72

Vá e leia as respostas para esta pergunta

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

A resposta que aceitei é excelente e deve ajudar a responder sua pergunta.

Pessoalmente, sou um pouco cauteloso com a idéia de chamar uma linguagem de interpretada ou compilada. É uma decisão de implementação, não faz parte da especificação da linguagem. Se você quiser falar sobre JavaScript compilado ou interpretado, pergunte no contexto de uma implementação real da especificação da linguagem.

Matt Esch
fonte
19

JavaScript é interpretado em tempo de execução pelo navegador do cliente. Porém, existe uma ferramenta chamada Rhino JavaScript Compiler que supostamente compila JavaScript em arquivos de classe Java.

HellaMad
fonte
7
E o V8 e afins?
25
O V8 nunca incluiu nada como um intérprete, e a maioria dos principais mecanismos JS já possui compiladores JIT. Assim, dizer que "JavaScript é interpretado" está obviamente errado (ou talvez sua definição de intérprete / compilador esteja).
@ delnan: Obrigado pela compreensão da V8. Portanto, JS não é uma linguagem puramente interpretada.
netemp
2
Compilador JavaScript do Rhino. Você sabe, se você deseja que sua linguagem interpretada seja interpretada por uma linguagem interpretada diferente.
Trevor Hickey
1
Como já foi dito, isso já não é verdade há algum tempo. Sim, nos primeiros dias, você poderia dizer que o Javascript foi interpretado, mas percorreu um longo caminho desde então.
31716 John Weisz