РЕЦЕНЗИИ
Э. Возневич. Освой самостоятельно Delphi. М.: “Бином”. 1996. 729 с.
1996 год оказался очень урожайным на книги, посвященные программированию в популярной среде Delphi. В конце года российское издательство “Бином” представило читателям перевод учебного пособия “Освой самостоятельно Delphi” известного автора Эндрю Возневича, выступавшего в различных компьютерных журналах в качестве популяризатора программных продуктов, основанных на компонентах. Объем учебника, рассчитанного главным образом на начинающих программистов, достаточно большой - вместе с приложениями он составляет 729 страниц набранного мелким шрифтом текста. Книга состоит из 22 глав, на изучение каждой из которых автор отводит один день. В результате читателю предлагается трехнедельный курс обучения.
Однако большой объем и сложность предлагаемого материала, на мой взгляд, не позволяют новичку усвоить его за столь короткий срок. Поэтому прав переводчик (по существу, но не с точки зрения адекватности перевода), убравший из заглавия время, отводимое автором на освоение Delphi, - “за 21 день”, потому как действительно освоить даже часть этого фолианта за такой короткий срок практически нереально.
Каждый “день” учебника посвящен изучению одного или нескольких вопросов. В конце каждой главы дается резюме, в котором кратко изложены основные аспекты рассмотренных тем. Интерес представляют относящиеся к каждому “дню” небольшие разделы, составленные в форме вопросов и ответов. Вопросы, как правило, из тех, что часто встречаются на практике, и, конечно, наряду с ответами помогают более глубоко вникнуть в суть рассмотренного в соответствующей главе материала. Наконец, для проверки степени усвоения пройденного материала читателю предлагается несколько контрольных вопросов и практических заданий, предусматривающих, как правило, самостоятельное программирование. По широте охвата тем, касающихся программирования в среде Delphi, книга Э. Возневича носит энциклопедический характер.
Не все проблемы, затронутые автором и представляющие интерес, освещены в должной мере. Так, попытка рассмотреть столь емкий и непростой вопрос, как функции Windows API, ограничилась только тремя таблицами обзорного характера, уместившимися всего лишь на трех страницах (384 - 387), что практически не позволяет использовать приведенную информацию. Без каких-либо примеров опять-таки на трех страницах “уместилась” крайне интересная для программистов-практиков информация о трех возможных способах обработки сообщений Delphi. Думается, что нашлись бы желающие более подробно изучить этот вопрос, к сожалению, не получающий достаточного освещения и в других доступных публикациях.
Ряд освещенных в книге тем может представлять интерес и для имеющих опыт программирования на Object Pascal в среде Delphi. Так, при создании нового представителя класса программисту наверняка пригодится информация о том, как поступить, если по той или иной причине создание экземпляра объекта не завершено. В этом случае для прерывания работы конструкторов рекомендуется использовать механизм исключений try...finally, встроенный в Delphi, а не процедуру Fail.
Некоторые главы учебника особенно интересны. Так, “на двадцатый день” занятий автор знакомит читателя с такой непростой проблемой, как создание заказных компонентов. Рассмотрение принципов построения осуществляется на примере оригинального и относительно несложного компонента. Подробно рассматривается методика создания визуального компонента. К сожалению, автор не уделил внимания таким аспектам программирования повышенной сложности, как разработка невизуальных компонентов и редакторов свойств.
К достоинствам книги можно отнести большое число авторских примеров-программ. Все эти примеры снабжены подробным комментарием с анализом работы этих программ. В ходе пояснений читателю даются задания по программированию с последующим контролем результатов, которых следует ожидать при исполнении соответствующей программы. Такой подход позволяет прояснить суть изучаемого материала.
Выявленные автором некоторые недостатки среды Delphi (например, невозможность “сокрытия” уже опубликованных свойств компонента), а также способы их возможного преодоления могут заинтересовать любознательного читателя.
В некоторых случаях Э. Возневич приводит и рассматривает листинги, представляющие собой “исходники” самого инструментального пакета Delphi. Для читателя такой подход, на мой взгляд, особенно ценен, поскольку далеко не всегда простой материл объясняется на живых примерах, да еще взятых из книг профессионалами фирмы Borland, у которых, безусловно, есть чему поучиться. Профессионалы-программисты такие примеры могут рассматривать как исходные тексты с комментариями и, возможно, также извлекут для себя пользу. Некоторые разделы учебника могут служить в качестве дополнительных материалов к документации по Delphi, поставляемой фирмой Borland.
Надо отметить в целом неплохое качество перевода, выполненного на профессиональном уровне, что, увы, не всегда характерно для современной компьютерной литературы.
В заключение следует отметить, что книга Э. Возневича может представить определенный интерес не только для новичков, приступающих к программированию на Object Pascal, но и для разработчиков Delphi-приложений, в том числе корпоративных систем управления базами данных.
Александр Чубуков