Широкий мир dBase-подобных продуктов
Miriam Liskin
Мириам Лискин
Одним из критериев того, что dBase III Plus доминирует на рынке
СУБД для персональных компьютеров, является размер рынка dBase-подоб-
ных продуктов, которые имитируют или расширяют возможности самого про-
дукта. Кроме того, что уже разработан широкий спектр утилит, расшире-
ний и программного сервиса, значительного успеха достигли несколько
совместимых с языком СУБД dBase пакетов.
Все эти продукты можно разделить на две основные категорияи, ко-
торые соответствуют двум рабочим средам dBase III Plus : интерактивно-
му режиму точечной подсказки и языку программирования. Первая катего-
рия - это группа подобноработающих или клонов, которые используют
стандартные файловые форматы dBase и предлагают большинство тех же
возможностей, в пределах меню или структур команд, которые отличаются
с различной степенью от dBase III Plus. Эта группа включает:
Alpha/three, FoxBase+ , dBXL, и McMax и FoxBase+ /Mac для фирмы
Macintosh.
Вторая группа - это компиляторы языка dBase'а, в том числе
Clipper, Quicksilver и FoxBase+. Однако, линия, разделяющая эти две
группы, очерчена не очень ясно: FoxBase+ предлагает совместимый с
dBase интерактивный режим в дополнение к компилятору, а компилятор
Quicksilver может использоваться вместе с dBXL для образования эквива-
лентной комбинации.
По самой своей природе компиляторы предлагают более быструю рабо-
ту, чем dBase-интерпретатор. Хотя эти продукты и не тестировались при
формировании этого выпуска, FoxBase+ побеждает в большинстве эталонных
тестах и все три превосходят в этом смысле dBase III Plus. Скоростные
различия являются менее значимыми, чем свойства различающие эти груп-
пы. Большинство из аналогичноработающих являются менее дорогими, чем
dBase III Plus.
"Большая тройка" применяет отчасти различные подходы для компиля-
ции прикладных программ в среде dBase. Clipper собирает все программы
в приложении в один единственный файл, связанный с библиотекой испол-
няющей системы, для выдачи EXE файла, который может распространяться
абсолютно свободно , совсем как отдельный продукт, выполняющийся неза-
висимо от Clipper или dBase.
В FoxBase+ используется другой подход. Встроенный компилятор ав-
томатически компилирует программу в "псевдокод" или при первоначальном
ее выполнении или после ее редактирования при помощи встроенного ре-
дактора Modify Command (подход, который будет реализован в dBase IV).
Вы также можете компилировать программу с помощью явной команды, если
используется другой редактор. Отдельно скомпилированные программы мо-
гут выполняться непосредственно в среде FoxBase+, помогая в выявлении
ошибок, или можно использовать FoxBind утилиту для объединения всех
программ в приложении в один процедурный файл, а затем оттранслировать
этот файл. Этот шаг улучшает производительность, поскольку исполняемые
программы не требуют дополнительных обращений к диску.
Для того, чтобы позволить пользователю, не обладающему FoxBase+,
использовать ваши программы, вы можете продать одну из двух версий ис-
полняющей программы, которая дает вам права распространять интерпрета-
тор совместно с вашей собственной программой. Ограниченный исполняемый
пакет включает лицензии на распространение 10 копий исполняемого ин-
терпретатора. Более дорогая, нелимитированная версия позволяет расп-
ространять сколько угодно копий.
Компилятор Quicksilver фирмы WorldTech компилирует приложение в
три этапа. На первом каждый программный файл компилируется в объектный
файл; объектные должны связываться на втором шаге, который порождает
EXE файл и два оверлея. Можно дополнительно повысить скорость выполне-
ния используя необязательный третий шаг, оптимизирующий выполнение,
который преобразует построенный компилятором псевдокод в файлы объект-
ного кода, связываемые поочередно для образования единственного EXE
файла.
Семейства совместимых с dBase продуктов и компиляторов предлагают
набор возможностей, состоящий из различных подмножеств и объединений
команд и функций dBase. Каждая возможность отражает точку зрения про-
ектировщика на то, что, как они считают, должно входить в dBase III
Plus, а также новые свойства, которые не реализованы в программах фир-
мы Ashton-Tate.
У каждого также отсутствует по крайней мере несколько свойств
dBase III Plus. В общем, компиляторы не поддерживают команды, которые
редко используются в приложениях заказчиков - например: Assist,
Append, Edit и файловые редакторы Report, Lable и Format. Также могут
быть не реализованы команды, используемые для поиска ошибок под управ-
лением интерпретатора (такие, как Set Echo On, Set Debug On и Set Talk
On) и возможности, не считающиеся необходимыми в программах (такие,
как способность формировать запрос и просмотр файлов). Эти усечения не
представляют проблем когда разрабатывается новое приложение, но, одна-
ко, при попытке скомпилировать работающую dBase-программу часто требу-
ется время на исправление и выявление ошибок.
Clipper фирмы Nantucket Software - это только компилятор. Так как
он не включает интерпретатор он предлагает наименее благоприятную сре-
ду для развития программ, хотя специальный отладчик и утилиты для соз-
дания баз данных, отчетов и этикеток (label forms), частично сглажива-
ют этот недостаток. В компиляторе Clipper также усилены некоторые воз-
можности языка программирования в dBase III Plus. В Clipper также до-
пускаются более длинные строки символов, большее число полей и большее
количество одновременно активных переменных , чем в dBase; в приложе-
нии, построенном с помощью Clipper можно открыть сразу 255 файлов на
диске (в среде DOS 3.3).
В Clipper также реализованы дополнительные (относительно языка
dBase) команды и возможности, которые применяются в более традиционных
языках высокого уровня, включая подпрограммы (подпрограммы в пределах
программного файла), определенные пользователем функции, одномерные
массивы переменных в памяти, For... Next циклы и возможность вызывать
неограниченное число программ, написанных на Си или Ассемблере.
Другие расширения, реализованные в Clipper, касаются приложений
использования базы данных и включают команды: редактирования входов
текстового memo-поля; команды для разработки подсвечиваемого меню, как
это принято в системе LOTUS 1-2-3; команды для построения контекст-
но-чувствительных систем подсказки; команды для сохранения экранного
образа и немедленного его восстановления; и команды, улучшающие работу
в сетевом режиме.
FoxBase+ имеет две основных сильных стороны: скорость и совмести-
мость. Среди всех совместимых с dBase продуктов, FoxBase+ более всего
похож на dBase III Plus, предлагая интерпретатор, который в состоянии
заместить интерпритатор dBase, который, к тому же, обеспечивает хоро-
шую среду для развития программ. Отсутствует только несколько свойств
dBase - такие как система Assist меню и каталог файлов.
В своем последнем издании FoxBase+ включает дополнительные языко-
вые возможности: определяемые пользователем функции, одно и двумерные
массивы, возможность открытия за один раз 48 файлов на диске, множест-
венные отношения, подсвечиваемые меню и команды для сохранения и восс-
тановления образов экрана. Многопользовательская версия может приме-
няться в наиболее популярных локальных сетях.
Предлагаемая фирмой WordTech комбинация трех компонент - dBXL,
Quicksilver и Network Plus - составляет пакет эквивалентный по возмож-
ностям dBase III Plus и плюс дополнительно компилятор. dBXL предостав-
ляет интерактивную среду, включающую замену Assist меню системы dBase
и язык программирования интерпретирующего типа. Quicksilver это компи-
лятор, а Network Plus поддерживает в любой из этих двух компонент мно-
гопользовательский режим. В версии языка программирования dBase фирмы
WordTech поддерживаются многомерные массивы, определяемые пользовате-
лем функции, For... Next циклы и возможность создавать настраивающуюся
систему подсказки.
Отличительной чертой dBXL и Quicksilver является их обширное мно-
жество графических, экранных и оконных команд управления. Можно опре-
делить до 99 экранных окон, определить размеры, расположение, цвета и
произвольную рамку для каждого. Окна могут расширяться, сжиматься, пе-
редвигаться, сохраняться на диске и восстанавливаться с дискового фай-
ла. Можно создавать и выводить на экран таблицы, графики, диаграммы,
основанные на хранящихся данных, а затем сохранить их в файловых фор-
матах, читаемых на Ventura Publisher, Page Marker и PC Paintbruch.
В dBase-подобных СУБД и компиляторах достигнуты превосходные экс-
плуатационные качества и желаемые возможности, отсутствующие в dBase
III Plus. Сегодня, при доступном dBase IV (или при почти доступном)
ясно, что многие из этих возможностей включены в dBase IV. Пока про-
должаются дебаты над тем насколько будет независим от системы dBase
стандарт языка dBase, лицо, желающее приобрести компилятор или некото-
рый продукт из семейства dBase-подобных , поступит правильно, если
проанализирует синтаксические отличия между dBase IV и подобноработаю-
щими продуктами и задастся вопросом: будет ли приобретаемое программ-
ное обеспечение расширяемым до совместимости с dBase IV.
br>