Perl-программа - это текстовый файл, считываемый программой perl
, который заставляет программу perl
выполнять последовательность действий.
Java-программа - это текстовый файл, который был преобразован впоследовательность байтовых кодов, которые затем интерпретируются программой java
для выполнения последовательности действий.
Программа AC представляет собой текстовый файл, который преобразуется с помощью компилятора C
в программу сборки, которая преобразуется вмашинный код от ассемблера.Машинный код загружается в память, что заставляет ЦП следовать за последовательностью действий.
ЦП представляет собой путаницу транзисторов, резисторов и других электрических битов, которые выкладываются аппаратными инженерами так, чтобы при возникновении электрических импульсовприменяются, это будет следовать последовательности действий, регулируемых законами физики.
Физики в настоящее время разрабатывают, что делает эти правила и как они интерпретируются.
По существу,каждая компьютерная программа интерпретируется чем-то другим, что превращает ее в нечто другое, что в конечном итоге переводится в то, как электроны в вашем местном районе летают.
РЕДАКТИРОВАТЬ / ДОБАВИТЬ : Я знаюВышеприведенное выглядит немного ненормально, поэтому позвольте мне добавить немного менее глупое дополнение:
Интерпретируемые языки - это то, где вы можете перейти от текстового файла к чему-то запущенному на вашем компьютере за один простой шаг.
Скомпилированные языки - это то, где вы должны сделать дополнительный шаг всередина, чтобы преобразовать текст языка в машинный или байт-код.
Последний можно легко преобразовать в первый с помощью простого преобразования:
Создайте программу с именем interpreted-c
,который может принимать один или несколько файлов C
и может запускать программу, которая не принимает аргументов:
#!/bin/sh
MYEXEC=/tmp/myexec.$$
gcc -o $MYEXEC ${1+"$@"} && $MYEXEC
rm -f $MYEXEC
Теперь в какое определение входит ваша программа C
?Сравнить и контраст:
$ perl foo.pl
$ interpreted-c foo.c