Среди авторов книг по программированию Чарльз Петцольд занимает особое место — не только как весьма плодовитый писатель, но и как большой мастер изящной формы. Так, для книги по обучению программированию на языке Си#, посвященной Иоганну Себастьяну Баху, любившему писать музыку в тональности до-диез-мажор, Ч. Петцольд избрал именно эту тональность. Изданная в переводе на русский язык его книга «Программирование в тональности С#» предназначена для желающих этому научиться. При этом автор не предполагает наличия у читателя предыдущего опыта программирования и терпеливо вводит его в мир текстов на языке Си#. Петцольд справедливо отмечает, что это не единственный язык среди включенных в технологию .NET, но разработан непосредственно для нее и соответствует ее параметрам.

Чарльз Петцольд Программирование в тональности C# М.: Русская редакция, 2004. 512 с.: ил.

Объектно-ориентированный язык Си# принадлежит к языкам семейства Си. Написание текстов на нем, в отличие от предшественников Си и Си++, позволяет получать программы, более безопасные в отношении количества ошибок, хотя они и работают менее быстро. Кроме этого компилятор Си# преобразует исходный текст программы в IL-код (intermediate language, IL), который нельзя непосредственно исполнить на машине, что позволяет проверить его на возможность опасных действий. Только после этого его можно преобразовать в исполняемый файл, реализуемый в среде .NET (common language runtime, CLR). В связи с тем что, по мнению автора, в Си# гармонично сочетаются лаконичность синтаксиса Си и объектно-ориентированные возможности языков программирования, он «может стать хорошим первым языком программирования для новичков».

Также к достоинствам Си# следует отнести его способность стать средством для создания веб- и Windows-приложений в .NET, но для этого необходимы описания возможностей интерфейсов. Подобную задачу автор не рассматривает в данной книге, хотя и опирается в ней на «средство общения с внешним миром», известное под названием «консоль», которое можно использовать при составлении программ многих типов. Представляя системные требования к программированию на Си#, автор говорит о двух возможностях работы на продуктах Microsoft Visual C#.NET Standard Edition или Microsoft Visual Studio.NET Professional Edition. Для некоторых версий продуктов автор предлагает зайти на сайт www.charlespetzold.com и далее на страницу Programming in the Key of C#, чтобы понять, как справиться с особенностями работы в этих условиях.

Для облегчения усвоения материала книги Чарльз Петцольд предлагает пользоваться программами-примерами, загружаемыми с сайта Microsoft Press (www.microsoft.com/mspress/books/6261.asp), а в разделе Support можно найти сообщения об обнаруженных в текстах программ ошибках. Кроме того, автор лично оказывает помощь читателям на своем сайте.

Теперь коротко о содержании книги. Первая часть под названием «Начало» содержит интересный материал, погружающий читателя в краткую историю программирования, чтобы не только объяснить ряд необходимых для дальнейшего понимания книги понятий, но и подбодрить его утверждениями вроде: «Вы — программист», а также указать на необходимую и доступную документацию по Си#. В этой же части книги рассказывается об обязательных шагах в программировании, основных операторах (присваивания, объявления цели и арифметических), программах (редактирования, компиляции и запуска) и моделях ввода-вывода (в частности, вывода на консоль).

Во второй, третьей и четвертой частях рассмотрены основные шаги программирования: описание используемых типов, условий и циклов, а также объектов.

В состав рассмотренных типов включены от «целые в .NET Framework», «строки текста», «стек» и «куча» до булевых выражений, символов и строк. При обучении работе с условиями и циклами автор демонстрирует ее на сравнениях, создании решений, условных операторах, перехвате исключений, на битах и перечислениях, параметрах и аргументах и некоторых циклах While, For Foreach, а также на использовании goto, switch и case. И наконец, освоение читателем программирования объектов (работы с данными) в Си# автор связал с инкапсулированием, методами экземпляров, конструкторами, концепциями равенств, полями и свойствами, наследованием, виртуальностью, перегруженным оператором, классами библиотек и полезными для начального уровня использования классами и структурами из .NET Framework.

В конце последней части Ч. Петцольд предлагает читателю «коду» (у исполнителей высокого класса это обычно часть музыкального произведения в собственной интерпретации), которая не только полна историко-музыкальных реминисценций, но и содержит авторский опыт в виде программы CsharpBach, «которая воспроизводит с помощью ПК прелюдию и фугу в тональности Си# мажор первой вещи из «Хорошо темперированного клавира» И. С. Баха. Разумеется, это всего лишь изящный стимул к написанию программы на Си#.

Завершая представление этой во многих отношениях хорошей книги, надеюсь, что круг читателей не ограничится лишь начинающими программистами. Ее с удовольствием возьмут в руки многие.