понедельник, 14 мая 2012 г.

Как LISP до Киева довел...

Кардинальные изменения платформы Bricscad не могли не коснуться такой важной ее составляющей, как API (Application Programming Interface). В числе основных нововведений Bricscad V8 были поддержка расширения DRX (DwgDirect Runtime eXtension) и новая реализация LISP с поддержкой VL-, VLR-, VLA- и VLAX- функций AutoLISP, которые широко использовались в приложениях для AutoCAD. Технология DRX базировалась на библиотеках DwgDirect от ODA (Open Design Alliance), и представляла собой аналог Object ARX (AutoCAD Runtime eXtension), но имела при этом ряд существенных отличий и ограничений по сравнению с продуктом Autodesk, что не давало оснований назвать DRX полноценной заменой ARX из-за недостаточного уровня совместимости. Но появление расширенного функционала в LISP должно было стать значительным шагом на пути обеспечения совместимости Bricscad и AutoCAD на уровне дополнительных приложений, использующих этот язык программирования. Я уже отмечал ранее, что отсутствие поддержки полноценного «автокадовского» LISP ограничивало интерес к Bricscad, как к возможной платформе для создания дополнительных надстроек и приложений. Это, в свою очередь, снижало интерес к Bricscad конечных пользователей, испытывающих необходимость в использовании таких дополнений к базовой платформе. Поэтому разработчики из Bricsys в числе первоочередных задач при работе над новой версией рассматривали реализацию расширенной версии языка LISP, максимально совместимой по своей функциональности с AutoLISP.



Понятно, что и я не был безразличен ко всем LISP-новшествам, поскольку при написании Bricscad BonusTools использовался именно этот язык программирования. И одним из первых моих действий после установки бета-версии Bricscad V8 была попытка запустить приложение BonusTools на этой платформе. Как и следовало ожидать, эта попытка оказалась неудачной. Во-первых, многие программы, входящие в состав пакета, потребовали «обратной» переработки – те функции, которые раньше писались с учетом особенностей LISP в Bricscad, теперь необходимо было переписать заново с учетом отсутствия этих особенностей, т.е. сделать их такими же, как и для AutoCAD. Во-вторых, новый движок LISP, как и платформа в целом, еще содержали большое количество недоработок и ошибок, которые и предстояло выявить на стадии бета-тестирования. Следует отметить, что на все сообщения о проблемах разработчики реагировали достаточно оперативно и каждую неделю после первого выхода бета-версии Bricscad V8 выходили ее обновления, содержащие исправления обнаруженных ошибок. Но каждое такое обновление непременно ставило и новые вопросы, и говорить о полном переходе на новую платформу пока было рано. Поэтому, работая над версией BonusTools для Bricscad V8, я параллельно занимался и доработкой текущей версии приложения для Bricscad V7.

В сентябре 2007 года на очередной «крымской конференции» Госстроя я снова показывал свои разработки для Bricscad. И совершенно неожиданно для меня мое выступление вызвало интерес у гранда отечественного программостроения в области строительного проектирования д.т.н., профессора, академика РААСН Александра Сергеевича ГОРОДЕЦКОГО – руководителя разработки таких известных программных комплексов как ЛИРА, МОНОМАХ и др.

А.С. Городецкий (фото Е.Сосновского)
В личной беседе Александр Сергеевич положительно отозвался о Bricscad, как о действительно возможной замене дорогостоящему AutoCAD и даже высказал предположение об использовании продукта Bricsys в качестве платформы для комплекса ЛИРА. Но, к сожалению, API Bricscad на тот момент еще не позволял осуществить такое портирование. А когда речь зашла о Bricscad BonusTools, то Александр Сергеевич настоятельно порекомендовал сделать программу коммерческим продуктом, отметив ее достаточный для этого уровень и пригласил выступить на семинаре "Информационные технологии в проектировании" в Киеве. От такого предложения я, конечно, не мог отказаться, т.к. это мероприятие ежегодно собирало большое число участников и ранее я уже посещал его, но только в качестве слушателя. В октябре я выступил в Киеве с докладом «Использование приложения «BricsCAD BonusTools» для оформления рабочих чертежей КМ, КМД», основные тезисы которого были впоследствии опубликованы в журнале «Промышленное строительство и инженерные сооружения» (№4, 2008г.), правда, с небольшой задержкой ровно в один год :).
Но что касалось рекомендаций Городецкого относительно коммерциализации программы, то здесь все было сложнее...