Заметки из лаборатории
ПО VisualAge for Smalltalk 3.0a корпорации IBM представляет собой прекрасно скроенную оболочку инструментальных средств корпоративной разработки систем для объектно-ориентированного языка. Этот пакет сочетает многоуровневую хорошо интегрированную поддержку коллективной разработки с исключительной продуктивностью языка Smalltalk (а также, к сожалению, с его печально известной требовательностью к размерам аппаратных и временных ресурсов).
В современных условиях жесткой конкуренции с изощренными средствами разработки на Си++, Java и других специализированных языках для такого продукта, как VisualAge for Smalltalk, недостаточно быть просто совершеннее, чем Smalltalk.
То, что когда-то отличало язык Smalltalk и его средства разработки, уже скопировано другими языками и инструментальными системами; пакет VisualAge for Smalltalk должен соответствовать этим новым стандартам, а не только улучшать собственные показатели.
Версия 3.0а не отвечает этим требованиям. Многим коллективам разработчиков будет недоставать привычного сервиса, предоставляемого другими продуктами при редактировании исходных текстов программ и при выполнении других базовых операций; этот пакет потребует слишком больших аппаратных и/или временных ресурсов как от разработчиков, так и от пользователей, чтобы реализовать все его возможности.
Никто не собирается писать на этом языке операционную систему или даже текстовый редактор, однако наблюдается растущий спрос на язык Smalltalk как на средство создания работающего заказного приложения в минимальные сроки, обеспечивающее быструю поставку нового продукта или услуги.
Печатать или не печатать
Реакция разработчика на VisualAge for Smalltalk аналогична реакции слепого на слона. Она будет зависеть от того, с какого конца он начнет его обследовать.
Разработчику, который начнет с визуальных средств, этот продукт покажется столь же мощным и гибким, как хобот. В нем сочетается компонентно-ориентированный вид конкретных объектов графического интерфейса пользователя с абстрактными структурами данных, которыми эти объекты управляют.
Совершенно в стиле графического средства, VisualAge открыл заседание тестового центра PC Week Labs с вопроса, хотим ли мы создать что-нибудь новое или продолжить начатую работу. Предлагаемые варианты не столь разнообразны, как обеспечиваемые ПО Delphi фирмы Borland International, более того, VisualAge for Smalltalk не сопоставим с Delphi в простоте перехода от графического к текстовому представлению работы.
Нам кажется, что графическое расположение компонентов пользовательского интерфейса и выбор событий пользователя гораздо удобнее, чем в предыдущих версиях VisualAge for Smalltalk. Разноцветные стрелки VisualAge оказались весьма полезны в определении этапа разработки, особенно при стыковке наших элементов управления интерфейсом с остальными прикладными программами, что является преимуществом VisualAge по сравнению с Delphi или Visual Basic корпорации Microsoft.
Поскольку IBM так здорово умеет соединять квадратики на экране, просто удивительно, что в языке Smalltalk отсутствует графический просмотр взаимосвязей между классами, в то время как, например, корпорация Symantec включает эту функцию в свои пакеты для разработки систем как на языке Си++, так и на языке Java. Раз уж этого нет, неплохо было бы использовать обусловленный синтаксисом цвет или автоматическое форматирование при просмотре исходных текстов программ, однако и то и другое отсутствует.
Если посмотреть на слона с другой стороны, VisualAge for Smalltalk впечатляет меньше. Мы представили себе, что абсолютно не знакомы с языком Smalltalk, и погрузились в Руководство пользователя Smalltalk корпорации IBM и ее же собственные примеры для упражнений. В языке Smalltalk учитывается регистр, поэтому ошибочная ссылка в учебнике на метод "createpushbutton" вместо "createРushВutton" предоставила нам незапланированную возможность исследовать отладчик.
Средства просмотра Smalltalk, хотя и помогают разработчику на современном уровне ориентироваться между взаимосвязанными модулями и функциями, в то же время отстают в организации среды программирования по сравнению с Си++ корпорации Symantec. Недостает гибкости при принятии решения о том, что оставлять в поле зрения при выполнении различных заданий, не хватает возможностей типа "перенести и оставить", а также слабо организован выбор близких значений в операциях поиска по имени. А главное, слишком много приходится набирать на клавиатуре, чересчур много.
Как разговаривать со своими данными
Модели запросов к базе данных в этом пакете представлены в виде предопределенных компонентов для много- и однострочных запросов, SQL-утверждений и хранимых процедур. В продукт включена поддержка СУБД DB/2 корпорации IBM и стандартных драйверов ODBS; одна из модификаций пакета предусматривает собственный драйвер для Oracle, однако его стоимость пока неизвестна.
Интуитивно составить запрос, как в ObjectPro фирмы Platinum Technology, сложно, кроме того, в VisualAge сохранять наборы опций для доступа к базе данных не так просто, как в ПО Delphi (последнее предоставляет также более широкий выбор собственных драйверов для различных СУБД).
Разговаривать на Smalltalk приходится медленно
При выполнении операций с большой нагрузкой на центральный процессор VisualAge плетется в хвосте вместе с Visual Basic и даже отстает от последнего при выполнении арифметических действий с плавающей запятой.
Одна-единственная единица с плавающей запятой, внесенная в целочисленный вариант нашего эталонного теста Tak, уменьшила его производительность на 92% без каких бы то ни было предупреждений, которые в случае аналогичной "ошибки" мы бы получили с разной степенью суровости от Си++, Java, Delphi или других языков, предполагающих задание типов данных с помощью функций.
При появлении VisualAge дисковое пространство начинает быстро исчезать. Например, генерирование приложения "Список дел на сегодня" из учебника для начинающих вылилось в 1,9 Мб исполняемых и графических файлов, и это после шести минут работы процедуры, которая по замыслу должна уничтожать ненужный код.
Средства графической разработки ПО VisualAge for Smalltalk 3.0 корпорации IBM иллюстрируют связи
между интерфейсом пользователя и структурами данных.
Жить своим умом
Большое преимущество ПО Smalltalk корпорации IBM по сравнению с его более ранними версиями состоит в автоматическом управлении конфигурированием, которое отслеживает права собственности, проверку полномочий на внесение изменений и хранит историю корректировок всего огромного количества взаимодействующих методов, которые в совокупности составляют Smalltalk-систему.
По сравнению с ПО Smalltalk другие системы внешнего управления версиями, даже снабженные хорошими меню с добавочными блоками, подобные тем, которые предоставляют Си++ или Delphi корпорации Symantec, выглядят совершенно неадекватными.
Текстовые программы просмотра доминируют в системе Smalltalk корпорации IBM, которая поддерживает
инструменты VisualAge. Управление версиями хорошо интегрировано.
Опытных разработчиков на языке Smalltalk может поначалу раздражать возведение подобных перегородок между отдельными приложениями, которое явно противоречит старой школе разработки систем на этом языке, больше напоминающей обучение единственного искусственного интеллекта разным фокусам и приемам. Однако для корпоративных приложений это является бесспорным достижением. ПО Smalltalk корпорации IBM сочетает в себе удобство индивидуальной разработки приложений и обязательную согласованность с разумными приемами коллективной работы.
ПО VisualAge for Smalltalk заполнило один из основных пробелов и работает теперь под операционными системами Win32. Имевшаяся до сих пор многопотоковая поддержка операционных систем OS/2 и AIX реализована в виде динамической библиотеки Windows.
Эта поддержка отсутствует в основном распространяемом пакете, но ее можно получить по адресу: ftp://ftp.software.ibm.com/ps/products/visualage/winthreds или через форум VisualAge службы CompuServe (к нему можно обратиться, набрав на клавиатуре GO VISUAL).
Стандартный протокол DDE полностью поддерживается, но OLE все еще игнорируется, что ставит версию 3.0а корпорации IBM на один уровень с ПО Clarion for Windows до его усовершенствованной версии 2.0, выпущенной этим летом. По сообщению официальных представителей IBM, расширенная поддержка OLE в ПО OpenDoc послужит в ближайшее время средством для создания более продвинутого межпрограммного сервиса для ПО серии VisualAge.
Новые пользователи наверняка оценят последовательную методику обучения, изложенную в руководстве "VisualAge Getting Started", являющемся составной частью серии хорошо структурированных руководств, которые очень помогают в освоении этого сложного продукта.
Содержание руководств полное и хорошо организованное, однако во многих случаях темы, упомянутые в оглавлении, по непонятной причине отсутствуют в предметном указателе той же книги.
Онлайновый просмотр документации очень удобен, в то же время типографские издания выиграют, если будут снабжены глобальным предметным указателем.
Питер Коффи
С аналитиком по передовым технология Питером Коффи можно связаться по адресу:
3571756@mcimail.com.
СОВЕТЫ КОРПОРАТИВНЫМ ПОКУПАТЕЛЯМ
СИЛА И СЛАБОСТЬ
VisualAge for Smalltalk 3.0а
IBM
Армонк, шт. Нью-Йорк
(800) 426-3333; (914) 765-1900 http://www.ibm.com
+ Уникальная способность отладки программ в условиях активного тестирования; исключительная интеграция функций управления конфигурированием в среду разработки; отличная межплатформная мобильность.
- Посредственное исполнение операций с интенсивным использованием центрального процессора; большая потребность в дисковом пространстве; модульные функции развиты слабее, чем в языках
Ada или Eiffel; средства редактирования исходных текстов не соответствуют современным стандартам.
РЕЗЮМЕ
Несмотря на высокую стоимость дисковых и процессорных ресурсов, язык Smalltalk корпорации IBM и среда VisualAge очень подходят для коллективной работы при разработке систем по четко определенному графику, но без жестких ограничений. Тем не менее язык Smalltalk, хотя и был одним из первых среди объектно-ориентированных технологий, уступает языку Delphi фирмы Borland в универсальности и создании абстрактных моделей баз данных.
Язык Smalltalk корпорации IBM все еще плетется в хвосте
у других объектно-ориентированных систем для быстрой разработки приложений
Delphi и Clarion работают в несколько раз быстрее;
VB 4.0 работает быстрее с плавающей запятой
Эталонный тест Tak измерялся в количестве прогонов в секунду, более длинная полоса соответствует лучшей производительности.
Инструмент разработки VisualAge for Smalltalk работает теперь под ОС с архитектурами Win32. Многопотоковый режим, имевшийся для операционных систем OS/2 и AIX, реализован в виде динамической библиотеки Windows