Ответ 1
Они отличаются тем, насколько выразительна система машинного типа низкого уровня.
LLVM машина довольно выразительна. С другой стороны, C-- машина ставит большую ответственность за язык интерфейса. Цитата из C-- FAQ:" просто, C-- не имеет типов высокого уровня --- он даже не отличает переменные с плавающей запятой от целочисленных переменных. Эта модель дает полный контроль над представлением и системой типов переднего конца "
Также визуально они выглядят много иначе. C-- очень похож на C, LLVM очень похож на ассемблер.
Прагматично, LLVM имеет гораздо больше импульсов прямо сейчас. У этого есть JIT-компилятор, Apple использует его для 3D-конвейера, и люди используют его для подключиться к GCC и всевозможные странные и замечательные вещи. Кто-то назвал это "почти абсурдно легко работать с ".
С другой стороны C-- намного меньше и, вероятно, легче понять. (Я полагаю, что нормальный человек с некоторой преданностью может полностью понять его все).