Вот список нескольких интересных систем.Это не исчерпывающий!
Динамически типизированный и скомпилированный
Компилятор схемы Gambit, Схема Chez , Воровство КлингераКомпилятор Scheme, компилятор Scheme Bigloo и, возможно, многие другие.
Почему?
Многим людям действительно нравится Scheme.Программы как данные, хорошая макросистема, 35 лет развития, большое сообщество.Но они хотят производительности.Следовательно, ряд хороших компиляторов нативного кода - Chez Scheme - даже успешный коммерческий продукт (интерпретируемые байт-коды бесплатны; нативные коды, за которые вы платите).
Just-in-LuaJITкомпилятор времени для Lua .
Почему?
Чтобы показать, что это можно сделать.И затем люди начали , как , получить 3-кратное ускорение в своих программах Lua.Lua во многих играх, где важна производительность, плюс она распространяется и на другие продукты.70% кода в Adobe Lightroom - Lua.
Компилятор iconc
Icon -to-C.
Почему?
пятьдесят человек, которые его использовали любили Icon.Совершенно необычная модель оценки, самая инновационная (и, на мой взгляд, лучшая) система обработки строк, когда-либо разработанная.Но эта оценочная модель была действительно дорогой, особенно на компьютерах конца 1980-х годов.Скомпилировав Icon в C, Icon Project сделал возможным запуск больших программ Icon за меньшее количество часов.
Заключение : люди сначала разрабатывают приложение к динамическитипизированный язык и, вероятно, значительная кодовая база.В конце концов, сообщество выкладывает компилятор с собственным кодом, чтобы вы могли повысить производительность и решить большие проблемы.
Статически типизированный и интерпретированный
Эта категория встречается реже, но ...
Объектив Caml .Диалект ML, средство для лотов инновационных экспериментов в области языкового дизайна.
Почему?
Очень портативная система и очень быстрое время компиляции.Людям нравятся оба свойства, поэтому новые идеи языкового дизайна широко распространены.
Moscow ML.Стандартный ML с несколькими дополнительными функциями системы модулей.
Почему?
Переносимое, быстрое время компиляции, легко сделать интерактивный цикл чтения / оценки / печати.Стал популярным обучающим компилятором.
C-Terp.Я думаю, что это старый продукт от Gimpel Software.Sabre C - продукт, который, я думаю, вы больше не сможете купить.
Почему?
Отладка.Особенно отладка аппаратного обеспечения 1980-х годов под MS-DOS.При очень небольших ресурсах вы можете получить действительно хорошую помощь в отладке кода C на очень ограниченном оборудовании (например, процессор 4,77 МГц с 8-битной шиной, 640 КБ ОЗУ полностью загружен).Почти невозможно получить хороший визуальный отладчик для скомпилированного кода, но с помощью интерпретатора это довольно просто.
UCSD Pascal - система, которая сделала "P-код" обычным словом.
Почему?
Учителям понравился языковой дизайн Никлауса Вирта, и компилятор мог работать на очень небольших машинах.Чистый дизайн Wirth и P-система UCSD создали непревзойденную комбинацию, и Pascal был стандартным языком обучения 1970-х годов.Молодым людям может быть трудно понять, что в 1970-е годы нет споров о том, какой язык преподавать на первом курсе.Сегодня я знаю о программах, использующих C, C ++, Haskell, Java, ML и Scheme.В 1970-х годах это всегда был Паскаль, и P-система UCSD была серьезной причиной.
Если вам интересно, P обозначал portable .
Резюме : Интерпретация языка со статической типизацией - отличный способ быстро получить реализацию в руках каждого. (У этого также были преимущества для отладки на оборудовании Бронзового века.)