Javascript компилируется или интерпретируется? [закрыто]


151

Можно ли назвать Javascript чистым интерпретируемым языком? Или у этого также есть некоторый скомпилированный аромат к этому? Может ли кто-то руководствоваться причинами того, что является правдой?


31
Пожалуйста, рассмотрите возможность добавления комментария при голосовании вниз, чтобы вопрос мог быть улучшен. Спасибо.
netemp

2
@Blindy: вы говорите, что различий между скомпилированным и интерпретированным не должно быть вообще?
netemp

23
5 отрицательных голосов, и ни одного комментария, цитирующего, почему понижательное голосование было там. Немного разочаровывает.
netemp

1
Это может быть распространенный способ классификации языков, но это не делает его более полезным.

1
@NetEmp (обратите внимание, что я не проголосовал, но проголосовал за переход к программистам). Это неправильное место для того, чтобы задавать этот тип вопросов - прочитайте часто задаваемые вопросы о том, какие вопросы задавать здесь - это должно быть в разделе программирования StackExchange
Manse

Ответы:


72

Иди и прочитай ответы на этот вопрос

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

Ответ, который я принял, превосходен и должен помочь ответить на ваш вопрос.

Лично для меня я несколько осторожен с мыслью о том, чтобы называть язык интерпретируемым или компилируемым. Это решение о реализации, а не часть спецификации языка. Если вы хотите поговорить о скомпилированном или интерпретированном JavaScript, задайте его в контексте фактической реализации спецификации языка.


19

JavaScript интерпретируется во время выполнения клиентским браузером. Тем не менее, существует инструмент под названием Rhino JavaScript Compiler, который предположительно компилирует JavaScript в файлы классов Java.


7
А как насчет V8 и тому подобное?

25
В V8 никогда не было ничего похожего на интерпретатор, и большинство основных движков JS уже имеют компиляторы JIT. Таким образом, говорить, что «JavaScript интерпретируется», очевидно, неправильно (или, возможно, ваше определение интерпретатора / компилятора таково).

@delnan: Спасибо за понимание V8. Таким образом, JS не является чисто интерпретируемым языком.
netemp

2
Rhino JavaScript Compiler. Вы знаете, если вы хотите, чтобы ваш интерпретируемый язык интерпретировался другим интерпретируемым языком.
Тревор Хикки

1
Как уже говорили другие, это уже давно не так. Да, в первые дни можно было сказать, что Javascript был интерпретирован, но с тех пор он прошел очень долгий путь .
Джон Вайс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.