БЕСЕДЫ О ПРОГРАММИРОВАНИИ
Концепция программных агентов недавно привлекла к себе доброжелательное внимание благодаря появлению долгожданных инструментов разработки и приложений для операционной системы Magic Cap фирмы General Magic. В Magic Cap есть что-то сексуальное, что-то от импровизированных демонстраций в зале ожидания аэропорта. Поэтому я не виню тех, кто оказался заинтригован.
Для всего этого шума есть даже некоторые реальные основания. Metrowerks заявляет, что ее утилиты CodeWarrior для Magic Cap позволят разработчикам испытать себя в той области, которая может оказаться огромным рынком, - программы для персональных цифровых ассистентов (PDA). Приложения, созданные с помощью этих утилит, могли бы сделать действительно практичными такие игрушки, как PDA Magic Link компании Sony и Envoy компании Motorola. Приложения для PDA, подобные версии Official Airline Guide для Magic Cap, вступят в жизнь тогда, когда их привлекательность для публики уже будет доказана.
Однако в то время, как Magic Cap поднимает волну, в глубинах скрывается Левиафан в технологии программных агентов - Object REXX корпорации IBM. Язык REXX - достойный результат лет, потраченных на его управляемую пользователями доводку, в течение которых он без особого шума применялся для написания любых сценариев: от составления бизнес-отчетов до обслуживания атомной физики. Объектные расширения REXX в этом году выйдут для впечатляюще большого количества платформ, основной язык REXX неизбежно будет признан открытым стандартом ANSI и избавится от объятий Голубого Гиганта.
REXX не привлекает большого внимания печати - и это при том, что читатели PC Week, занимающиеся разработкой ПО, используют его почти так же широко, как Паскаль, и наверняка чаще, чем Фортран. Этой весной мы получили примерно 500 ответов от тысячи случайно выбранных читателей рубрики "Разработка приложений" и обнаружили, что 19% из них указали REXX как один из своих языков, при том что 21% хоть иногда пользуется Паскалем и 17% - Фортраном.
Однако база данных Computer Library в настоящий момент насчитывает 651 статью с ключевым словом Pascal, 449 - с Fortran и только 76 - с REXX, из них 8 из этих статей написаны мной. Позор! REXX - это язык диалогов, сочетающий в себе легкость использования Бейсика с некоторыми мощными возможностями, присущими языкам искусственного интеллекта, таким как Лисп.
Сейчас, когда REXX доступен в командных файлах операционных систем IBM DOS 7.0 и OS/2, а также поставляется от нескольких независимых фирм, следовало бы изучить его повнимательнее.
Будучи ограничен размерами этой колонки, я не стану пытаться создать учебное руководство но REXX, но позвольте мне поделиться с вами восхищением от двух особенностей языка REXX. Первая: любая переменная в REXX может стать разветвляющейся иерархией значений, которые могут быть использованы в структурах данных так же гибко, как вложенные списки Лисп, или в таком же строгом порядке, как массивы Фортрана. Программа на REXX может динамически создавать имена переменных, состоящие из многих частей, позволяя формировать структуру данных в соответствии с данными, которые получила программа. Это устраняет большой класс программных ошибок, возникающих в случае, если программист делает неправильные предположения о том, что появится в будущем.
Вторая потрясающая черта REXX - встроенная возможность распознавания шаблонов и извлечения данных из конкретных фрагментов шаблона. Это позволяет разработчику проверять потоки данных, не имея детального представления об их глобальном формате.
Обе эти черты свойственны приложениям-агентам, код которых должен выполняться в "чуждой" среде хост-машины.
Сейчас, когда средства написания сценариев становятся ключевыми для повышения эффективности приложений, REXX наконец имеет шансы привлечь к себе то внимание, которого он заслуживает.
К Питеру Кофи можно обратиться через MCI Mail: 357-1756 или через CompuServe: 72631,113.
Питер Кофи