Готовый перевод Let Over Lambda - 50 Years of Lisp / Let Over Lambda - 50 лет Lisp-у: Приложение C - Реализации

C.1 CMUCL/SBCL

История системы CMUCL/SBCL предшествует COMMON LISP-у 1. SBCL - это родственный форк CMUCL. По моему мнению, CMUCL - это лучшая лисп среда из ныне существующих, на втором месте располагается SBCL. CMUCL и SBCL оба предоставляют исключительно продуктивные среды разработки. Обе реализации включают в себя удивительный оптимизирующий компилятор в машинный код Python 2. После довольно простого процесса декларирования COMMON LISP кода выполняется компилирование Python-ом, производительность которого может соперничать или превосходить компиляторы для других языков, особенно при использовании на больших или сложных приложениях. Самая большая разница между CMUCL и SBCL заключается в том, что SBCL использует Python всюду, а CMUCL предоставляет несколько компиляторов и интерпретаторов, каждый со своими сильными и слабыми сторонами.

1 Раньше CMUCL назывался SPICE Lisp.

2 Имя предшествует Python-у, скриптовому языку.

Большинство примеров в этой книге исполнялось в CMUCL, хотя иногда использовался дизассемблер SBCL (по причине генерации читабельного вывода). CMUCL менее раздражает излишними предупреждениями и обладает более удобным REPL-ом, но SBCL даёт более ясные замечания и лучше подходит для задач связанных с Юникодом. В архитектуре SBCL выполнены некоторые решения, с которыми я не согласен, в частности нарушена CMUCL-овское высокоуровневое свойство setq, используются менее очевидные имена для системных символов и бессмысленное копирование юниксовского getopt(3).

CMUCL и SBCL позволяют насладиться большим количеством библиотек и ярким он-лайн сообществом. Для меня очень странно слышать людей, утверждающих что доступность библиотек является проблемой для лиспа. Я нахожу ситуацию с библиотеками прямо противоположной. Библиотеки в COMMON LISP-е обычно лучше поддерживаются и лучшего качества чем в остальных языках. Интерфейс сторонних функций (foreign function interface - FFI) CMUCL/SBCL также замечателен - более гибкий, стабильный и эффективный чем то, что я встречал в любом другом языке. Библиотеки никогда не были для меня серьёзной проблемой при разработке чего-либо на COMMON LISP.

C.2 CLISP

CLISP - другая замечательная COMMON LISP среда. Она гораздо переносимей чем CMUCL/SBCL и может запускаться почти везде, где можно применить компилятор C. Поскольку CLISP компилируется не в машинный-код, а в формат байт-кода, то он часто медленней чем CMUCL/SBCL, иногда из-за этого CLISP не используют в разворачивании. Но иногда разворачивание в CLISP - наиболее разумный выбор если вам требуется переносимость. Также CLISP примечателен быстрой работой с большими целыми числами.

C.3 Другие

ECL - реализация COMMON LISP написанная на C и предназначенная для встраивания. Эта реализация следует за CLISP-ом и является достаточно полной для использования. ECL может быть хорошей средой для разворачивания в машинах с чрезвычайно ограниченной памятью. Благодаря библиотеке GMP она также обладает хорошей производительностью при работе с большими целыми числами.

GCL - это реализация COMMON LISP использующая компилятор GNU C для компилирования лиспа в машинный код, где C играет роль промежуточного звена. GCL испытала влияние Kyoto CL [KYOTO-CL-REPORT]. В целом не так хороша как CMUCL/SBCL или CLISP, но, ещё можно обратить внимание.

Armed Bear - реализация COMMON LISP, запускающаяся поверх Виртуальной Машины Java. Может быть полезной для интеграции с существующими Java приложениями.

Виртуальная машина Parrot Perl имеет COMMON LISP фронтенд за которым я наблюдаю.

Clozure CL (в прошлом OpenMCL) - хорошая реализация COMMON LISP с открытым исходным кодом, до тех пор, пока она не запускается на проприетарной операционной системе.

Кроме того, есть много проприетарных реализаций COMMON LISP-а. Некоторые из них высокого качества, но все они страдают от критического дефекта - не-технические барьеры, не дающие вам познавать и создавать новое. Принимая в учёт качество и количество лиспов с открытым исходным кодом, сегодня нет никакой надобности запирать себя в дорогих реализациях без исходных кодов или даже в ещё более ограниченных пробных версиях.

Сегодня, с замечательными реализациями COMMON LISP-а с открытыми исходными кодами , в сочетании с такими превосходными операционными системами как OpenBSD и GNU/Linux мы входим в золотой век вычислений. Сегодня ничто не останавливает программиста кроме барьеров его собственного интеллекта и креативности.

Переведено на Нотабеноиде
http://notabenoid.org/book/40014/295439

Переводчики: Charlz_Klug

Настройки

Готово:

100.00% КП = 1.1