РЕЦЕНЗИИ

Макдональд М. Рецепты программирования на Microsoft Visual .NET. Пер. с англ. М.: ИТД "Русская Редакция", 2004. - 704 с.

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

И тем не менее кодирование по-прежнему остается базовым, неотъемлемым элементом разработки приложений. Дело тут не только в том, что существует достаточно много задач, в которых доля этого вида программирования очень велика (бизнес-логика, серверное ПО). Владение собственно языком программирования крайне необходимо для эффективного освоения технологий "крупноблочной" разработки. Но изучение современных языков программирования, в том числе и Visual Basic, - это дело на порядок более сложное, чем еще 10-15 лет назад.

Когда я в конце 80-х годов начал программировать в системе QuickBasic (DOS’овском предшественнике VB), меня поразило обилие операторов языка - около трехсот. И нужно сказать, что даже опытные программисты не могли похвастать, что отлично знают все возможности всех конструкций и функций этого языка. Что же говорить о Visual Basic, у которого состав языковых элементов (объектов, методов, событий, свойств) стремительно рос с начала 90-х годов. В результате сегодня сами авторы инструмента - из Microsoft - не очень в курсе относительно числа функций VB.NET, но можно вполне определенно сказать, что речь идет как минимум о нескольких тысячах*1.

_____

*1 Данная ситуация характерна для современных систем программирования в целом. Что касается VB.NET, то речь идет о объектной модели не столько самого языка, сколько среды .NET Framework.

В этих условиях изучение возможностей языка по описаниям его функций, представленных в виде традиционного справочника, становится совершенно нереальным. Тут следует применять другой метод - на примерах решения конкретных задач. Именно поэтому еще в середине 90-х годов в программистской литературе (а потом и в Интернете) стало быстро набирать популярность направление "советы по программированию на языке XXX" с краткими описаниями решения той или иной конкретной проблемы (для классического VB см., например, www.visual.2000.ru/developer/vb/).

Книга Мэтью Макдональда - это сборник из советов-рецептов, выполненных на высоко профессиональном уровне и включающих не только решение определенной задачи, но и детальное обсуждение различных вариантов, в том числе с использованием недокументированных возможностей языка. Здесь нет описания основ .NET и фундаментальных концепций разработки приложений, но в ней программист сможет найти оптимальный ответ на конкретный вопрос. Сам автор во введении рекомендует относиться к его работе как к чему-то среднему между ответами на часто задаваемые вопросы и библиотекой шаблонов, иллюстрирующих самые эффективные приемы программирования. При этом из обилия тем были выбраны те, что чаще всего встречаются на досках объявлений и в конференциях.

Нужно отметить практическую направленность рецептов, которая выражается в том, что для выполнения конкретных задач автору приходится порой покидать мир собственно операторов VB.NET и библиотек классов .NET Framework и обращаться к API Windows, инструментарию управления Windows (WMI), JavaScript, унаследованным компонентам COM и т.д.

В книгу включено более трехсот рецептов, которые распределены по 19 главам, посвященным различным темам программирования: "Строки и регулярные выражения" (25 рецептов), "Числа, даты, другие типы данных" (20), "Массивы и наборы" (19), "Объекты, интерфейсы и шаблоны" (18), "Файлы и каталоги" (20), "XML" (10), "Многопоточность" (13), "Сетевые приложения" (14), "Отражение" (12), "Программирование для Windows" (21), "Элементы управления Windows" (21), "Печать и рисование с использованием GDI+" (21), "Службы Windows" (8), "ADO.NET" (21), "Web-приложения ASP.NET" (17), "Web-сервисы" (12), ".NET Remoting и сервисы масштаба предприятия" (18), "Безопасность и криптография" (20), "Полезные возможности COM Interop" (19).

Перечисляя названия глав, нужно отметить, что одноранговая категоризация советов является весьма условной и неполной. На практике один и тот же совет часто включает сразу несколько программистских методов. Например, при решении задач поиска файлов нередко параллельно затрагиваются вопросы работы со строками и функциями API. Но печатное издание не позволяет реализовать такой способ представления содержимого, и в этой связи, конечно, был бы очень востребованным электронный вариант сборника, например, на базе простой, но полезной утилиты Code Librarian (Microsoft поставляла ее ранее в составе своего инструментария), обеспечивающей многокритериальную категоризацию, поиск в полнотекстовом режиме и по ключевым словам.

Я думаю, что рассматривать подробнее содержание этого полезного сборника рецептов вряд ли имеет смысл. По собственному опыту могу сказать, что даже гуру в VB.NET сможет открыть для себя что-то неизвестное и, самое главное, полезное.

Версия для печати