2015-05-08 4 views
1

Я пытаюсь найти слово, чтобы классифицировать некоторые языки и не совсем имейте это.Есть ли слово для языков, эквивалентных C?

  • Категория 1 Пример: программа Ruby должна интерпретироваться; это действительно инструкции для программы ruby. Python и Javascript тоже такие.
  • Категория 2 Пример: Скомпилированная программа на C не нуждается в интерпретаторе; это действительно инструкции для компьютера. C++, Rust and Go тоже такие.

Я бы сказал, что «скомпилирован против интерпретируемого», но есть языки, которые скомпилируются в байт-код. Например, компиляции Java, но вы не можете запускать Java-программу без установки Java.

Я бы сказал, что «компилируется в машинный код», но я читал, что компиляторы C могут скомпилироваться вместо ассемблера, и я все равно нечеткий на этом различии. В связи с этим возникает вопрос: «Мы даже говорим о признаке самого языка?» В конце концов, вы можете написать a C interpreter.

Неофициально, я бы сказал, «вы можете использовать Rust или Go, чтобы делать то, что вы используете C для - для создания эффективных двоичных файлов без зависимостей времени исполнения».

Есть ли слово «эквивалент С» в этом смысле?

ответ

0

Я думаю, что если вы хотите действительно классифицировать языки, которые вы должны пройти через метапрограммирование и программирование парадигмы (http://en.wikipedia.org/wiki/Metaprogramming) и метаязык , потому что даже если язык в основном составлен, а другая в основном интерпретируются, это компилятор/intepreter который решает передать с помощью байт-кодов/кодов операций или для компиляции на машинный язык, для инкрементальной компиляции или для компиляции в интерактивном режиме и т. д.

Надеюсь быть полезным.

1

No.

Как вы уже упоминалось, существуют различные способы классификации языка.

  • Как она выполняется (составитель против интерпретированы)
  • Как она существует на самом низком уровне (байт-код против машинного кода)
  • Сходство синтаксиса языка
  • Проблема домена (язык сценариев, вообще назначение, функциональное программирование)

Даже первый из них падает с C. это вполне можно написать C переводчика - см C Шилдт в: полная ре ference для такого примера.

Смежные вопросы