РЕЦЕНЗИИ
Сухарев М. В. Основы Delphi. Профессиональный подход. СПб.: Наука и техника, 2004. - 600 с.
Несмотря на очевидное преобладание C++ как языка разработки приложений, Паскаль по-прежнему занимает весьма важное место в ряду языков программирования. Во-первых, он традиционно используется при обучении: его простой и четкий синтаксис позволяет сосредоточиться в первую очередь на решении самой задачи и одновременно способствует выработке хорошего стиля, что очень важно для новичков. Во-вторых, корпорация Borland, чья история фактически началась с разработки компилятора Turbo Pascal, сумела кардинально расширить возможности этого языка (в частности, в плане объектно-ориентированного программирования), совершенно не утратив при этом его простоты. В-третьих, интегрированная среда разработки Borland Delphi является, как мне кажется, самым удобным из всех существующих на настоящий момент инструментальных средств; единственные конкуренты ей в этом плане - только Builder’ы той же корпорации, обеспечивающие создание программ на C++ и Java. Наконец, производительность компилятора Паскаля зачастую на порядок превосходит скорость работы трансляторов C++. На мой взгляд, только сложившийся стереотип "Паскаль - для школьников, Си - для профессионалов" и связанная с ним направленность большинства издаваемой литературы не дают этому языку возможности занять подобающее место при создании крупных коммерческих проектов. К счастью, время от времени попадаются книги, выходящие за рамки пособий для начинающих. К их числу принадлежит и рецензируемое издание.
Эта весьма толстая книга разделена на шесть частей, содержащих 24 главы. Первая часть (четыре главы) посвящена традиционному структурному программированию. В ней описываются составные части программы, стандартные и определяемые программистом типы данных, операторы, процедуры и функции.
Объектно-ориентированное программирование (ООП) является предметом второй части, состоящей из шести глав. В первой из них излагаются основные концепции ООП - инкапсуляция, наследование и полиморфизм - и описываются объектно-ориентированные синтаксические конструкции языка. Далее приводятся краткие сведения об отличительных особенностях DOS- и Windows-программ. Затем автор останавливается на имеющихся в языке средствах обработки ошибок. Последние три главы рассказывают об объектно-ориентированном подходе к хранению информации, потоковому вводу-выводу и использованию графики.
Третья часть (две главы) посвящена работе в интегрированной среде Delphi. Ее размер очень невелик - всего 30 страниц, но этого вполне достаточно благодаря тщательно продуманному и удобному интерфейсу, созданному корпорацией Borland.
В четвертой части (шесть глав) автор говорит о компонентах - "кирпичиках", из которых в Delphi создается практически каждая программа. Как и в предыдущем материале, сначала объясняются самые важные понятия и концепции, а далее описываются более частные случаи.
Взаимодействию с операционной системой посвящена пятая часть (три главы). Здесь рассматриваются настройки окружения, в котором выполняется программа (свойства самого приложения, экрана, мыши), вывод информации за пределы приложения (печать и использование технологии COM, в том числе для взаимодействия с Microsoft Office) и построение динамически подключаемых библиотек и многопоточных приложений.
В последней части (три главы) речь идет о создании собственных компонентов и их включении в среду разработки Delphi.
Поскольку издание нацелено в первую очередь на начинающих программистов, после большинства глав приведены контрольные вопросы и ответы на них, призванные способствовать закреплению изученного.
В целом книга производит очень хорошее впечатление. Материал четко структурирован, благодаря чему интересующую тему легко найти по оглавлению (предметный указатель отсутствует, хотя в данном случае он и не очень-то нужен). Лаконичное, но достаточно полное изложение сопровождается многочисленными примерами. Наконец, не ограничиваясь традиционными учебными задачами, автор затрагивает вопросы, характерные для профессионального программирования, - такие, как взаимодействие с другими программами, создание DLL и многопоточность. Не хватает, пожалуй, лишь введения в базы данных и работы над веб-сервисами, но по первой теме имеется многочисленная литература, в том числе ориентированная и на Delphi, а вторая являет собой весьма специфическую область, слишком сложную и одновременно вряд ли представляющую большой интерес для начинающего программиста...
Имеются в издании и некоторые недостатки. Так, можно поспорить о термине "сложные типы данных" применительно к интервалам и перечислимым типам - здесь следовало бы использовать иное выражение: "типы, определяемые программистом" (поскольку выражение "сложный тип" логичнее отнести к "составному типу", а к последним относятся массивы, записи и множества). Вместо "оператора цикла" автор почему-то говорит "оператор зацикливания", хотя зацикливание возникает только в плохо отлаженных программах :). В классах у него два вида свойств: просто свойства (которые обычно называют все-таки полями, как и аналогичные им по назначению компоненты записей) и property-свойства (а их-то применительно к Delphi как раз и принято называть просто свойствами). Наконец, лично меня коробит от русских калек английских терминов вроде "инсталляции", хотя подобные слова, к сожалению, весьма прочно закрепились в нашем компьютерном жаргоне.
В целом же книгой практически с одинаковым успехом может пользоваться и новичок, только-только приступающий к освоению Delphi, и тот, кто уже изучил основы и хочет расширить свои знания, и профессиональный программист, не работавший ранее на Паскале и нуждающийся в справочнике по синтаксису этого языка.