LINUX.ORG.RU

История изменений

Исправление seiken, (текущая версия) :

В такой размытой формулировке не имеет смысла. И это проблема, т.к. люди используют слово «компилятор» везде, где попало, и дезинформируют людей. Например, пишут у нас компилятор из нашего DSL в Java. С какого бодуна, если на выходе исходники на Java? Это генератор кода или транслятор, но не компилятор.

И понятие «высокоуровневости» тоже расплывчатое. Когда я учился, нам говорили просто: языки ассемблеров низкоуровневые, C, Pascal высокоуровневые, и есть как бы ещё выше, но там грань размыта.

«Высокий», «низкий» - это термины для учащихся литературных лицеев, но не адекватные технические термины. Я могу такое определение предложить: язык низкого уровня - это язык из класса регулярных языков, предназначенный для генерации двоичного кода для конкретного процессора или виртуальной машины. С таким определением «компилятор», на выходе которого предложения КС языка никакой не компилятор.

Исходная версия seiken, :

В такой размытой формулировке не имеет смысла. И это проблема, т.к. люди используют слово «компилятор» везде, где попало, и дезинформируют людей. Например, пишут у нас компилятор из нашего DSL в Java. С какого бодуна, если на выходе исходники на Java? Это генератор кода или транслятор, но не интерпретатор.

И понятие «высокоуровневости» тоже расплывчатое. Когда я учился, нам говорили просто: языки ассемблеров низкоуровневые, C, Pascal высокоуровневые, и есть как бы ещё выше, но там грань размыта.

«Высокий», «низкий» - это термины для учащихся литературных лицеев, но не адекватные технические термины. Я могу такое определение предложить: язык низкого уровня - это язык из класса регулярных языков, предназначенный для генерации двоичного кода для конкретного процессора или виртуальной машины. С таким определением «компилятор», на выходе которого предложения КС языка никакой не компилятор.