Показать сообщение отдельно
  #1 (permalink)  
Старый 29.02.2020, 11:21
Кандидат Javascript-наук
Отправить личное сообщение для jaroslav.tavgen Посмотреть профиль Найти все сообщения от jaroslav.tavgen
 
Регистрация: 18.09.2014
Сообщений: 128

Компилируемые и интерпретируемые языки
Кто-нибудь знает, где можно почитать ХОРОШУЮ матчать про сабж?

Потому что удивительное дело, но то, что я читал, - это всё время какой-то бред.

Например, такой:

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-файл либо не создаётся либо создаётся, а потом удаляется.

Т.е., мне кажется, что я понимаю. что такое компилируемый язык, но не понимаю, что такое интерпретируемый. Есть ли что-то ТОЛКОВОЕ, что можно об этом почитать? Спасибо!

Последний раз редактировалось jaroslav.tavgen, 29.02.2020 в 11:39.
Ответить с цитированием