@NFly

Какие языки транслируются в код C(си) и какие у них недостатки и плюсы?

1. Когда то читал про язык программирования и было написано, что он транслируется сначала в код на Си, поэтому работает быстро. Странная фраза. Сейчас не могу вспомнить о каком языке речь.
Подскажите, а какие языки сначала транслируются в код на Си? То есть потом этот код Си компилируется и по сути это обычная программа на Си? Имеет ли право такой язык программирования называться языком программирования?
2. Почему задаю вопрос: родилась идея "альтернативного синтаксиса" для Си. Короче, пишем программу в стиле языков луа и питон, затем она банальным парсером транслируется в код на Си. И далее работаем как с программой на Си. Можно использовать для скриптинга и прототипирования. Какие будут плюсы и минусы у такого подхода?
  • Вопрос задан
  • 352 просмотра
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
А кому оно такое надо?
Ответ написан
Комментировать
Vapaamies
@Vapaamies
Разработчик будущей ОС для ПК размером 250 МБ
Когда говорят, что некий язык транслируется в код на Си, это или любительский проект, или какая-то метасистема, типа как Haxe, которая транслирует не только в Си.

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

Со скоростью тоже всё просто. Компилируемые языки быстрее интерпретируемых, и фразу о скорости нужно понимать именно в сравнении с интерпретируемыми языками, как если бы автор такого языка написал (бы) его интерпретатор. Кодогенерация — штука муторная, не каждый любительский проект хочет за нее браться. А скомпилированный код быстр вне зависимости от способа его получения, пусть даже и трансляцией через Си.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы