Кто-нибудь знает, где можно почитать ХОРОШУЮ матчать про сабж?
Потому что удивительное дело, но то, что я читал, - это всё время какой-то бред.
Например, такой:
https://guide.freecodecamp.org/compu...ted-languages/
Цитата:
|
In a compiled language, the target machine directly translates the program. In an interpreted language, the source code is not directly translated by the target machine. Instead, a different program, aka the interpreter, reads and executes the code.
|
(Что ещё за "target machine"? Может быть, на ней всё-таки какой-то софт запускается? И в одном случае это компилятор, а в другом - интерпретатор, и эти два названия никак не объясняют разницы между ними)
или такой:
https://kb.iu.edu/d/agsz
Цитата:
|
The difference between an interpreted and a compiled language lies in the result of the process of interpreting or compiling. An interpreter produces a result from a program, while a compiler produces a program written in assembly language. The assembler of architecture then turns the resulting program into binary code.
|
(ШТА? Я думал, что всё, что запускается на компьютере, по определению переводится машинные коды, репрезентацией которых является ассемблер)
или такой:
https://en.wikipedia.org/wiki/Interpreted_language
Цитата:
|
An interpreted language is a type of programming language for which most of its implementations execute instructions directly and freely, without previously compiling a program into machine-language instructions. The interpreter executes the program directly, translating each statement into a sequence of one or more subroutines, and then into another language (often machine code).
|
(здесь мне нравятся фразы "most of", "directly" и "freely" - понимай как хочешь).
В общем, определений и статей много, а сути - мало.
Я в итоге для себя сделал вывод, что компилируемый язык - это язык, который прежде, чем выполнить программу, создаёт EXE-файл (и его аналоги в других ОС), а потом его запускает. Интерпретируемый язык, по сути делает то же самое (превращает написанный код в ассемблер), только по пути совершает ещё много промежуточных действий (суть которых я и пытаюсь понять). Отдельный EXE-файл либо не создаётся либо создаётся, а потом удаляется.
Т.е., мне кажется, что я понимаю. что такое компилируемый язык, но не понимаю, что такое интерпретируемый. Есть ли что-то ТОЛКОВОЕ, что можно об этом почитать? Спасибо!