РЕЦЕНЗИИ

Петцольд Ч. Программирование для Microsoft Windows на Visual Basic .NET. В 2-х томах. Пер. с англ. М.: ИТД "Русская Редакция", 2003. - 560 с. (1-й том); 624 с. (2-й том).

По единодушным оценкам аналитиков (например, сошлемся на прошлогодний отчет Gartner), Visual Basic все последние годы является самым популярным языком программирования, причем он широко применяется и профессиональными разработчиками. Правда, сейчас, в период перехода от классической архитектуры Windows к .NET, VB переживает непростой этап своего развития, так как переход от версий 6.0 к варианту VB.NET - не совсем тривиальное дело.

Книгу Чарльза Петцольда - известного автора и одного из пионеров Windows-программирования - по содержанию и стилю изложения можно отнести скорее к категории "для начинающих программистов". Однако в силу новизны архитектуры .NET она представляет интерес и для более опытных разработчиков.

В книге рассказывается о создании только одного класса .NET-приложений - на базе Windows Forms, которые являются полными аналогами традиционных Windows-программ. Тут следует отметить, что несмотря на то, что распространение архитектуры .NET идет в основном под лозунгами продвижения в сторону Web-разработки, можно довольно уверенно утверждать, что большой (может быть, даже основной) объем усилий программистов в ближайшие годы будет связан с созданием обычных клиентских Windows-приложений (в том числе и в качестве интерфейсов к распределенным системам). Так или иначе, опыт Windows-программирования будет всегда полезен, а начинающим разработчикам имеет смысл начать освоение VB.NET именно с этой технологии.

Пересказывать содержание книги вряд ли имеет смысл, отметим только, что речь в ней идет именно о языке программирования, причем акцент делается на создании пользовательского интерфейса, в том числе с применением графических средств. Тут не рассматриваются вопросы работы в среде Visual Studio .NET, технологии взаимодействия с базами данных, методы отладки и распространения и т. д. Но зато возможности самого языка VB.NET излагаются весьма подробно - 24 главы, три приложения, почти 1200 страниц текста. Все файлы примеров можно скачать с Web-сайта Microsoft Press.

Однако мне хотелось бы немного затронуть вопрос выбора языка при освоении .NET-разработки, который является актуальным и для тех, кто только начинает осваивать программирование, и для нынешних пользователей VB 6.0, желающих перейти на платформу .NET. Рецензируемая книга представляет собой очень интересный пример, подтверждающий тезис о том, что различия между VB.NET и C# - а именно о выборе между ними чаще всего идет речь - для огромного числа реальных задач являются минимальными или вовсе отсутствуют.

Дело в том, что данная книга Чарльза Петцольда - ПЕРЕВОД его же монографии "Programming Microsoft Windows with C#", появившейся на год раньше (русское издание было выпущено в конце прошлого года, см. PC Week/RE, N 04/2003, с. 27). Именно перевод - с языка С# на VB.NET - это подчеркивает сам автор во введении, рассказывая любопытные нюансы проделанной работы.

В частности, 95% примеров файлов с исходным кодом были преобразованы с помощью специально написанной программы, остальные - с использованием тривиальных операций глобального поиска и замены в текстовом редакторе. Последний способ широко применялся и при преобразовании текста самой книги. А для перевода многочисленных таблиц (например, описания свойств, методов, событий) были созданы довольно простые макросы на VBA. В целом, делясь своим опытом "перевода", Чарльз Петцольд отмечает, что ему не пришлось столкнуться с каким-то дефицитом возможностей VB.NET по сравнению с C#.

Появление у одного поставщика ПО двух разных по синтаксису, но почти равноценных по функциональности языков программирования в общем-то вполне понятно. Это должно существенно упростить переход на платформу .NET двух основных сообществ разработчиков: пишущих соответственно на Си (и Си-подобных, в том числе Java) и на Visual Basic.

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

Так что Чарльзу Петцольду пришлось изрядно потрудиться, чтобы закончить "перевод" книги с C# на VB.NET. Впрочем, критикуя Microsoft за проведение политики "разделяй [сообщества разработчиков по языковому принципу] и властвуй", нужно признать справедливость его высказывания: "До появления .NET перевести книгу по программированию для Windows с Си или Си++ на язык Visual Basic было просто немыслимо. Microsoft действительно создала систему, в которой выбор языка программирования - лишь вопрос личных предпочтений".

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