среда, 27 июня 2012 г.

Рецензия на книгу Джеффри Рихтера "CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#"


Книга Джеффри Рихтера "CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#" – для тех, кто хочет как можно глубже погрузиться в технологию .NET и ее составляющие. Ее автор, Джеффри Рихтер – один из основателей компании Wintellect, которая в данный момент занимается тренингами для .NET разработчиков и предоставляет консалтинговые услуги. Он программирует с 1975 г., занимается консалтингом с 1999 г., имеет опыт разработки на .NET с момента выпуска первой версии – более 10 лет, является автором многочисленных книг по разработке под Windows на языках C/C++/C# и большого количества статей. Его книги всегда отличались техническими подробностями работы технологии и показывали его глубокие знания в описанных ним областях. Сейчас он активно ведет семинары для разработчиков на тему Windows Azure и продолжает писать.

Данная книга охватывает именно базовую часть (ядро) .NET фреймворка, но не специализируется на конкретной технологии: Silverlight, WPF и тд, что делает ее особенно полезной. Описаны следующие темы: CLR, основы работы с типами, с акцентом на работу со строками, делегаты, автоматическая сборка мусора (GC), работу с доменами приложения и сборками, отражение, многопоточность. Это издание фокусируется именно на многопоточности, описываются техники разработки многопоточных приложений, приводятся примеры из его собственной библиотеки Power Threading (можно скачать с сайта Wintellect). В качестве целевой версии принят .NET 4.0, а также Microsoft Visual Studio 2010 и C# 4. Все примеры написаны на языке C#, но для
разработчиков под Visual Basic это не должно стать проблемой, исходный код доступен для скачивания на сайте wintellect.com. Особенностью книг Рихтера есть то, что он до малейших подробностей объясняет технологию, подробно описывая каждый момент, поэтому его примеры требуют тщательного изучения.

Подобрать литературу для сравнения достаточно сложно, так как не видел книг, которые также подробно раскрывают технические нюансы CLR и .NET в общем. Особенно эта книга выделяется тем, что Рихтер уделил много внимания теме многопоточности, которая на данный момент является одной из наиболее сложных и обсуждаемых.

Лично для себя я хотел бы выделить следующие темы из книги: работа со строками (String), GC – сборщик мусора (Garbage Collector), работа с потоками, асинхронными операциями и синхронизация потоков. Признаюсь, что когда начал выписывать все, что посчитал особенно важным, список вышел почти как содержание книги, поэтому решил его сократить.

Отдельно хотел бы сказать о предисловии к книге, написанном женой Рихтера, Кристин, которая уже успела набраться знаний благодаря беседам за обедом, по ее словам, пишет, что Рихтер обожает тему многопоточности и постоянно об этом говорит. Мне кажется, что это отлично характеризует его как специалиста, одержимого своей идеей. Именно такие люди могут писать книги для профессионалов. Подведу итоги по данной книге: обязательна для прочтения любому разработчику под .NET, который имеет хотя бы небольшой опыт. Здесь разбираются примеры до малейших подробностей, которые будут понятны только тем людям, которые имеют достаточный опыт разработки. Любой Senior может найти фундаментальные вещи, которые он до сих пор не знает, и не узнал бы, если бы не Джеффри Рихтер. Читать ее необходимо медленно, анализируя каждую главу, вдумчиво разбирать примеры. Для себя я использую следующий способ: сначала быстро прохожусь по книге, стараюсь уловить основные моменты и определить наиболее интересные места, а потом приступаю к повторному чтению с акцентами на определенных темах. Вообщем читать надо повторно, а еще лучше держать ее всегда рядом с собой в качестве настольной книги. Хотелось бы побольше такой литературы на тему разработки под платформу .NET, благодаря таким книгам получаются отличные специалисты.

Михаил Галушко, msug.vn.ua