Хорошая ли идея компилировать язык на C?

По всему Интернету мне кажется, что писать бэкенд на C для компилятора - уже не такая уж хорошая идея. Си-бэкенд GHC больше не разрабатывается активно (это мое неподтвержденное ощущение). Компиляторы ориентируются на C-- или LLVM.

Обычно я думаю, что GCC - это старый добрый зрелый компилятор, который хорошо справляется с оптимизацией кода, поэтому компиляция на C будет использовать зрелость GCC для получения лучшего и быстрого кода. Так ли это?

Я понимаю, что вопрос сильно зависит от природы компилируемого языка и других факторов, таких как получение более удобного кода. Я ищу более общий ответ (применительно к компилируемому языку), сфокусированный исключительно на производительности (без учета качества кода, ...и т.д.). Я также буду очень рад, если ответ будет включать объяснение того, почему GHC отдаляется от C и почему LLVM лучше работает в качестве бэкенда (см. это) или любые другие примеры компиляторов, делающих то же самое, о которых я не знаю.

43
задан muhmuhten 8 January 2014 в 00:23
поделиться