Александр Чубуков
Тодд Миллер, Дэвид Пауэл и др. Использование Delphi 3. Пер. с англ. под ред. В. Касперовича. Киев, Диалектика, 1977. - 768 с.
На титульном листе только что вышедшей книги, полностью посвященной самым разнообразным аспектам программирования в среде последней коммерческой версии Delphi 3 фирмы Borland, указано: “Специальное издание”. После знакомства с ее содержанием становится понятно, что это солидное издание действительно “специально” рассчитано на профессионалов-программистов. Нужно отметить, что оно выпущено как нельзя кстати и, главное, вовремя - как показали недавно прошедшие в Москве выставки Windows 95 Expo/Moscow и SofTool’97, некоторые программисты сейчас интенсивно работают над созданием всевозможных, иногда не очень тривиальных приложений в этой многоплановой и очень непростой среде, а многие готовятся к переходу с Delphi 2 на Delphi 3.
Авторы труда - американские программисты, имеющие опыт работы с Delphi. В общей сложности в написании книги принимали участие 14 специалистов по Delphi, 12 из которых считаются соавторами. Вся книга разбита на шесть частей, объединяющих 32 главы. Подробное оглавление и предметный указатель позволяют использовать ее в качестве справочного руководства. Первые четыре главы представляют собой краткое введение, где даются основные понятия интегрированной среды и “сердца” Delphi - языка Object Pascal. В конце первой части авторы приступают к делу, предлагая интересную главу, в которой исследуются исключительные ситуации. Подобные ситуации, по мнению авторов, допустимы лишь при тестировании приложения, а в коммерческой версии должны быть исключены. Как здесь не согласиться с ними? Но на практике, к сожалению, работа в среде Win95 практически с любым приложением сопряжена с опасностью возникновения той или иной исключительной ситуации.
Во второй части даны общие концепции разработки приложений, а третья часть наибольший интерес представит для разработчиков информационных систем: здесь излагаются основы работы с базами данных, в том числе с использованием “дополнительного” (в отличие от основного, Object Pascal) языка Delphi - SQL.
Разработке компонентов на новом уровне - с использованием “пакетов” (packages) - большое внимание уделено в четвертой части. Здесь не забыты и сложные компоненты - редакторы свойств и компонентов, существенно облегчающие разработку приложений в так называемом режиме design-time (на уровне проектирования). Такие компоненты названы сложными, поскольку их создание обычно вызывает немалые трудности даже у профессионалов-программистов, не успевших накопить в этом деле опыт.
В пятой части авторы предоставили читателю очень интересный материал, где они делятся своим опытом по созданию нетривиальных взаимосвязанных программ-приложений с использованием концепции OLE. Delphi 3 полностью поддерживает эту концепцию, и авторы доходчиво и, главное, на многочисленных примерах показали, как создать сервер COM “с нуля”, используя новое языковое расширение Delphi, как разработать сервер автоматизации, как создать элементы управления ActiveX, для разработки которых совсем недавно требовался специальный инструментарий фирмы Microsoft.
Последняя, наиболее объемная шестая часть включает разнообразный, в основном сложный, но интересный и нужный материал. Здесь затронуты некоторые аспекты программирования графики и вывода данных на печать, рассмотрены практические основы создания динамических библиотек DLL, рассказано о некоторых методах тестирования и отладки, дано понятие о том, как создавать приложение для Web-сервера. В этой же части рассмотрены методы программирования потоков с использованием класса TThread, объясняются механизмы синхронизации процессов. В отдельной главе рассматриваются аспекты взаимодействия с интерфейсом Open Tools API, рассказывается, как создать и зарегистрировать эксперт Delphi. Здесь же раскрываются секреты совместного использования программ, написанных на разных языках - Си++ и Object Pascal. Эта задача решается, как показывают авторы, с помощью объектных файлов или DLL. Наконец, в заключительной главе читатель познакомится с не менее важным материалом - основами использования WinAPI.
Книга не лишена недостатков. В частности, первые главы, посвященные Object Pascal, даны очень схематично, без примеров; на мой взгляд, их можно было бы дополнить иллюстративным материалом. То же относится и к описанию инструментальной среды, представленной в очень сжатом виде. Много недостатков в переводе, в котором появились даже новые “понятия”, такие, как “дикие жуки” (с. 766). Поскольку переводчик не всегда представляет себе, о чем идет речь, перевод становится дословным, причем по-русски даются даже термины, которые переводить не следовало бы. Например, на с. 332 можно с удивлением узнать о том, что “компонент ClientDataSet... не имеет непосредственной связи с устойчивыми объектами, такими, как таблицы и взгляды”. Перевод имени такого “устойчивого объекта”, как “взгляды” (!?) заставляет читателя задуматься (и, быть может, надолго): а что же в действительности имел в виду автор? Аналогичная попытка перевести название компонента управления StatusBar как “панель состояния” встречается на с. 159 (здесь переводчик как-то засмущался и взял этот “термин” в кавычки, а в дальнейшем сам отказался от такого перевода). Успокаивает лишь то, что “переводу” подверглись (именно подверглись) не все имена, в противном случае разобраться “что почем” было бы абсолютно невозможно.
Отмеченные недостатки не снижают ценности и полезности книги “Использование Delphi 3”, которая может представить несомненный интерес для программистов-профессионалов, в том числе для разработчиков корпоративных информационных систем и иных нетривиальных приложений для Win95 и NT, позволит использовать богатый опыт, накопленный американскими коллегами.
Телефоны: “Диалектика” - (044) 261-5936, Borland (московское представительство) - (095) 238-3611.