|
||
Что такое HomeLisp? HomeLisp - простой интерпретатор стандартного Лиспа, сделанный по лекалам, описанным в великолепной книге С.C. Лаврова и Г.С. Силагадзе [1].
Происхождение названия HomeLisp дословно означает "домашний Лисп". Прилагательное "домашний" в русском языке имеет по крайней мере два смысловых значения: во-первых, "домашний" означает "сделанный в домашних, а не в промышленных условиях"; во-вторых, "домашний" означет "упрощенный". Оба этих значения вполне применимы к HomeLisp. Разработчик надеется, что слово "домашний" будет вызывать у пользователей только позитивные ассоциации (вспомните домашние пельмени, грибки, огурчики...) Что может HomeLisp?
В процессе поисков материалов по Лиспу в Internet-е,
автор обратил внимание, что в России Лиспу учат по системам
CommonLisp, XLisp, MuLisp и т.д. Отечественные
разработки (хотя они и есть!) для обучения практически не
применяются. Следует отметить, что большинство расхожих
(некоммерческих) версий Лиспа оформлены как консольные
приложения с
соответствующим интерфейсом. Такое минималистское решение
вызывает у изучающих Лисп ложное ощущение, что Лисп
может решать только сугубо абстрактные задачи и совершенно
непригоден для задач, встречающихся в повседневной жизни.
Интегрированная среда разработки (IDE) HomeLispIde.Exe . В этой среде поддерживаются абсолютно все декларированные выше возможности HomeLisp. ActiveX-Exe библиотека HomeLispLib.Exe, которая позволяет использовать язык Лисп в любой среде программирования, поддерживающей COM. В частности, можно писать скрипты на языке Лисп! Web-компонента HomeLispWeb.Exe, предназначенная для работы в среде WEB-сервера IIS. Web-компонента поддерживает все основные языковые возможности Лиспа, но не поддерживает системные функции, работу с COM-объектами, графику, файлы, BLOBы и другие не вполне уместные в среде WEB-сервера возможности. Основное назначение Web-компоненты - создание многопользовательской системы для обучения языку. Что не принадлежит к числу сильных сторон HomeLisp?Автор честно предупреждает, что HomeLisp не отличается высокой производительностью. На домашнем компьютере автора (1.7Ггц) число 100! (произведение всех чисел от 1 до 100 со всеми значащими цифрами) считается за 0.2 сек. На рабочем компьютере (2Duo 2.4Ггц) время вычислений составляет 0.06 сек. Это скромно. Возможно, в следующих версиях производительность удастся повысить. А пока автор может сказать в свое оправдание лишь то, что для учебных целей (а также для работы со скриптами) производительности HomeLisp вполне достаточно. Кроме того, не очень высокая производительность должна стимулировать мысль программиста в направлении совершенствования алгоритмов... (Шутка, но в каждой шутке есть доля шутки). Что двигало разработчиком?Во-первых - самоутверждение. Во-вторых - интерес к языку (в одной статье, посвященной Лиспу, написано примерно следующее: "...даже если вы и не станете применять Лисп, изучив этот язык, вы будете смотреть на программирование другими глазами..." Автор настоящего руководства полностью разделяет эту точку зрения). И, наконец, желание сделать для наших студентов и школьников, изучающих Лисп, полностью русифицированную, свободно распространяемую, бесплатную программу с удобными средствами отладки и внятным интерфейсом на платформе Windows.
Пусть линуксоиды не думают, что бесплатное ПО бывает только в Linux!
Извинения перед читателями и пользователями
Разработчик приносит пользователям и читателям извинения за некоторую несвязность изложения
материала в документации. Документация писалась достаточно долгое время; в процессе написания
менялись взгляды автора, что, вероятно, не лучшим образом отразилось на содержании.
Без очень веских оснований не "вестись" на пожелания изменить интерфейс программы (и, в частности, внешний вид основных окон). |
||