Я являюсь участником Одесской Microsoft .Net user group практически с самого её основания. Это неформальное сообщество разработчиков Одессы было создано усилиями нескольких энтузиастов. На данный момент прошло уже восемь встреч, на которых было много интересных докладов по технологиям и методикам разработки программного обеспечения.
Но кроме возможности участвовать во встречах разработчиков (в т.ч. как докладчик) участники группы могут получать для ревью и покупать со скидкой книги издательства O’Reily — благодаря участию user group в программе «O’Reilly User Group Programme».
Я решил воспользоваться такой возможностью и, списавшись с руководителем группы Алексом Тумановым, получил электронную книгу «C# 4.0 in a Nuthsell, Fourth Edition. The definitive reference».
В своё время я спросил у Алексея Колесниченко (опытного разработчика, использующего стек Microsoft), какую книгу по C# и .Net лучше всего прочесть — чтобы было коротко, но максимально полезно?
Он сразу же ответил: «C# in a Nutshell».
И я с ним соглашусь
Хотя в названии книги указан только C#, на самом деле книга покрывает как сам язык (в данном издании — 4-й версии), так и базовые части .Net Framework.
Материал излагается от простого к сложному, с самого нуля: сначала базовые понятия .Net, потом основы языка C#, построение типов (классы и наследование, интерфейсы, и т.д), более сложные понятия (delegates, events, generics, lambda и т.п.), элементы .Net Framework. Несколько глав посвящено LINQ. То, что появилось нового в 4-й версии — вкратце упомянуто (обзорно) во введении, и детально излагается в контексте среди остального материала.
Если есть какие-то нюансы или подводные камни — авторы это отмечают особым образом. К каждому блоку информации идут краткие примеры. Но самое главное — весь материал излагается максимально кратко и чётко.
Книга хорошо структурирована. Многие главы требуют изучения и понимания предыдущего материала, хотя при этом авторы и стараются каждую главу излагать изолированно от других.
Книга позволяет получить базис знаний, без которого вряд ли возможно заниматься каким либо программированием на .Net (ASP.Net, WinForms, WPF, WCF и т.д.).
Книга «C# in a Nutshell» не содержит базовых понятий по программированию в целом и ООП в частности — она не является учебником «для начинающих программировать», она предназначена для «уже программистов» и поэтому, наверное, в первую очередь будет полезна для:
- «программистов-свитчеров», т.е. переходящих на .Net с других языков/платформ и уже имеющих понимание и опыт использования ООП;
- для программистов, уже работающим на .Net и желающих освежить в памяти или упрочить основные знания по C# и .Net.
P.S. При чтении книги будет также полезно воспользоваться программкой LINQpad. Во-первых, в ней можно быстро (без создания нового проекта, как в Visual Studio) попробовать ввести приведенные в книге куски кода и «поиграться» с ними. Во-вторых, в программе удобно строить и тестировать LINQ-запросы (это как раз и есть её основное назначение).