МНЕНИЕ ПОЛЬЗОВАТЕЛЯ

 

Заставку системы Delphi с изображением прекрасной женщины на экране своего компьютера я впервые увидел примерно год тому назад. И сразу понял: это Она (система, а не женщина), та, о которой я так долго мечтал и с которой смогу произвести на свет многочисленное потомство (приложения для Windows) с прекрасными лицами (интерфейсом) и богатым внутренним содержанием (возможностями работы с самыми разными базами данных). И ожидания не обманули меня. Delphi фирмы Borland  -  действительно прекрасный и универсальный инструмент визуального объектно-ориентированного программирования любых приложений для Windows и прежде всего для работы с базами данных. Ее популярность растет, но, на мой взгляд, недостаточно быстро. Это, собственно, и побудило меня написать эти заметки, которые я адресую в первую очередь тем, кто еще не пробовал работать с данной системой.

 

С Delphi могут работать как начинающие программисты, так и асы программирования. Начинающий с помощью средств визуального программирования создает приложения, имеющие вполне профессиональный вид и удовлетворяющие всем требованиям Windows. В простейших случаях все программирование может свестись к написанию нескольких стандартных операторов обработки событий, поскольку компоненты, включенные в библиотеки Delphi, сами решают большинство традиционных задач. На собственном опыте я убедился в том, что с помощью Delphi за одно занятие можно научить создавать простые приложения даже школьников 10 - 12 лет, не имеющих никакого представления о программировании. Однако такая простота и наглядность не должны смущать опытных программистов. Delphi снимет с них основные тяготы при проектировании интерфейса программы и при этом не ограничит их возможности в области создания сложных алгоритмов работы. Delphi годится для написания программ любой сложности, не говоря уже о том, что в нужные места можно без особых проблем вставить фрагменты текста на Ассемблере. Впрочем, стоит ли это делать?

 

Для многих программистов, привыкших к работе с языками Си/Си++, сложность может представлять то, что Delphi использует Object Pascal. Но современные версии Си/Си++ и Object Pascal очень близки друг другу по концепции и возможностям, а некоторые синтаксические различия легко усваиваются за несколько часов работы. По эффективности получающихся исполняемых модулей языки Си и Object Pascal практически эквивалентны, а по скорости трансляции Object Pascal превосходит Си. Проекты в Delphi могут содержать до 600 больших модулей, то есть не меньше, чем проекты, создаваемые с помощью компиляторов Си. В целом возможности этих языков примерно одинаковы, и я берусь утверждать, что все, что можно написать на Си, можно сделать и на Object Pascal. К тому же эти два языка могут совместно использовать библиотеки DLL, созданные на любом из них. Нужно лишь позаботиться о некоторых преобразованиях типов переменных.

 

Основное назначение Delphi  -  создание приложений для работы с базами данных, как локальными, так и построенными на основе технологии клиент-сервер. При этом обеспечивается прекрасная масштабируемость  -  возможность работать практически со всеми известными СУБД, свободно переходить от одной платформы к другой, перемещать данные между базами, построенными разными СУБД. Для разработки клиент-серверных приложений в Delphi существует инструмент Borland Interbase Server, позволяющий провести сначала локальную разработку и отладку приложения, а лишь затем подключить его к сети и реальным базам данных.

 

Однако возможности Delphi не ограничиваются только работой с БД. С его помощью можно прекрасно создавать приложения любого функционального назначения, формировать DLL, совместимые с программами, написанными на других языках, создавать процедуры инсталляции, системы помощи и драйверы устройств, работать в Интернет, составлять и распечатывать сложные отчеты, таблицы. Все эти возможности подкрепляются быстрым оптимизирующим компилятором, благодаря которому созданные приложения работают в десятки раз быстрее тех, что разработаны в системах-интерпретаторах типа Visual Basic (новая версия Visual Basic 5.0 также содержит компилятор  -  прим. ред.) или PowerBuilder.

 

Коротко рассмотрим имеющиеся версии Delphi. Первая появилась в феврале 1995 г., а примерно через год была выпущена Delphi 2.0, ориентированная на 32-разрядные приложения для Windows 95 и Windows NT. Это, конечно, принесло существенное ускорение работы созданных приложений. Тестовая программа, которую я написал на Delphi 1.0 и на Delphi 2 и запускал на одном и том же компьютере из Windows 95, показала, что Delphi 2 дает четырехкратное ускорение выполнения арифметических вычислений и ускорение работы с файлами в 7 - 8 раз. Впрочем, скорость обмена информацией с базами данных практически не изменилась. Помимо ускорения программ и возможности работы с 32-разрядными компонентами и драйверами в Delphi 2 появилось еще много нового. Например, строковые переменные могут теперь иметь длину до двух гигабайт, добавлены новые типы данных: Variant, позволяющий хранить данные различных типов (уступка Visual Basic) и Currency. С целью достижения совместимости с другими платформами и языками сделан также ряд дополнений в языке. Существенно расширены библиотеки компонентов. В частности, появились компоненты для работы в Internet. Многие новшества облегчают использование элементов OLE и OCX. Появился упрощенный генератор отчетов Quick Report, который можно применять в тех случаях, когда не нужна вся мощь входящего в Delphi генератора ReportSmith. Вместе с Delphi 2 распространяется генератор программ инсталляции InstallShield Express Lite. Вообще в короткой статье невозможно перечислить все, что появилось в Delphi 2, а уже этой весной ожидается пакет Delphi 3, существенно улучшенный по сравнению с Delphi 2. Остается только удивляться динамичности развития этого инструмента.

 

Впрочем, и первую Delphi (1.0) еще рано списывать со счетов. Если в сети имеются не только мощные, но и слабые компьютеры, на которых невозможно установить 32-разрядные версии Windows (в наших условиях это, увы, не редкость), то применение приложений, созданных с помощью Delphi 2, может вызвать проблемы. В таких случаях разумнее остановиться на Delphi 1.0.

 

Все версии Delphi существуют в трех вариантах: настольном  -  Desktop, для разработчиков  -  Developer и варианте клиент-сервер  -  Client/Server для профессионалов. Эти варианты различаются возможностями общения с СУБД. Delphi Desktop способна общаться с dBASE и Paradox через Borland Database Engine, Developer имеет средства связи с любым источником данных через ODBC-драйвер, а Client/Server предоставляет быстрый 32-разрядный драйвер для связи с SQL СУБД, такими, как SyBase и Oracle. В варианте Client/Server имеется визуальный построитель SQL-запросов, подобный тем, что используют в Microsoft Query и Microsoft Access, и генератор отчетов ReportSmith, напрямую связывающийся как с SQL-базами данных, так и с локальными БД в форматах Paradox, dBase и других. Таким образом, по возможностям работы с БД вариант Client/Server вплотную приблизился к своему основному конкуренту в этой области  -  PowerBuilder, существенно превзойдя его по скорости выполнения приложений.

 

И в заключение несколько слов о том, где и что можно почитать о Delphi. Прежде всего надо сказать, что Delphi снабжена обширной системой помощи, из которой опытный пользователь может почерпнуть всю необходимую информацию о языке, компонентах, их свойствах, событиях и областях применения. Однако полезно ознакомиться и с систематически изложенным материалом (связности изложения система Help, конечно, дать не может). Впрочем, ни одна книга не в состоянии охватить всех возможностей Delphi, так что книги и система Help взаимно дополняют друг друга.

 

Что же можно сказать о литературе по Delphi на русском языке? Пожалуй, наиболее основательно Delphi представляет издательство BINOM. Для начинающих можно рекомендовать переводные книги из серии “Освой самостоятельно Delphi”. Первая из них, написанная Эндрю Возневичем, переведена и выпущена в 1996 г. Правда, она не лишена некоторых недостатков, логично следующих из поставленной цели  -  за 21 занятие обучить работе с Delphi человека, не имеющего понятия о программировании. Поэтому автор слишком подробно объясняет азы программирования, знакомые в наше время многим школьникам, а на главное  -  серьезное обсуждение работы с базами данных, особенно на платформе клиент-сервер,  -  ему не хватило места. Сейчас в издательстве готовится книга Дэна Оузьера и др. “Освой самостоятельно Delphi 2. Полное руководство для самостоятельного обучения”, лишенная многих недостатков предыдущей монографии. В частности, в ней существенно расширены разделы, связанные с разработкой приложений для работы с базами данных, изложены вопросы генерации отчетов, построения программ инсталляции и пр. Для профессионалов, уже освоившихся с Delphi, будет полезной книга С. Орлика “Секреты Delphi на примерах”, выпущенная в том же издательстве. Она не дает связного и последовательного изложения принципов работы с Delphi, но зато вы найдете в ней множество неожиданных и интересных примеров, советов по программированию, тонкостей использования Delphi, включая даже попытку реконструкции внутренней структуры среды проектирования.

 

Немало пользы читатель извлечет и из книги П. Г. Дарахвелидзе и Е. П. Маркова “Delphi  -  среда визуального программирования” (изд-во “BHV-Санкт-Петербург”. 1996). Она содержит много справочного материала, и именно это привлекает к ней прежде всего. Однако книга не очень продумана методически и довольно тяжело читается. К тому же в ней рассматривается только Delphi 1. Создателям серьезных приложений для работы с БД можно рекомендовать книгу Кена Хендерсона “Руководство разработчика баз данных в Delphi 2” (“Диалектика”. 1996). Книга пригодится читателям разного уровня подготовки, в том числе и опытным разработчикам. Так, одна из ее глав специально предназначена для тех, кто переходит в Delphi, имея за плечами опыт работы с Си/Си++, Visual Basic, Access, PowerBuilder, dBase, FoxPro, Clipper и т. д.

 

В заключение хочется отметить, что число поклонников Delphi неуклонно растет, начинают работать курсы по освоению этой системы. Так что всем читателям, еще не знакомым с Delphi, я рекомендую: познакомьтесь, сделайте с ее помощью хотя бы одно приложение  -  и, думаю, вы тоже влюбитесь в нее и пополните число ее поклонников.

 

Алексей Архангельский

 

С Алексеем Архангельским можно связаться по телефону: (095) 290-2156 или по адресу: aa@arhangel.msk.ru.