Вопрос по переводчику - PullRequest
       42

Вопрос по переводчику

0 голосов
/ 27 января 2011

Я читаю книгу на языке Си. Он сказал,

некоторые высшие рычаги не скомпилированы, но интерпретируются.

Basic и Java - это два программирования языки, на которых программы часто интерпретируется и не компилируется. Другой примеры включают систему Unix оболочка и Python.

Как насчет C # и Perl?

Я думал, что C # должен компилироваться всегда, а Perl не всегда компилируется.

Это верно?

1 Ответ

3 голосов
/ 27 января 2011

C # и Java оба скомпилированы, но не для собственного кода.Они скомпилированы в байт-код (для Common Language Runtime и Java Virtual Machine соответственно), что интерпретируется их виртуальной машиной.

Perl может быть скомпилирован, фактически, так как есть командная строкавозможность создать C-код из Perl и скомпилировать его.Но в целом Perl интерпретируется.

И Perl, и Python при нормальной работе компилируются в байт-код, который затем интерпретируется их соответствующими интерпретаторами.Не требуется обязательной компиляции перед запуском, в отличие от Java и C #.

По определениям вашей книги C языки компилируются только в том случае, если они скомпилированы с собственным кодом (например, сборкой), который выполняется непосредственно на CPU безво время выполнения.

...