One of the .Net Rocks podcasts (episode 232) suggests blogging about some of the technical books you've read and trying to explain why they were of value to you so it might encourage others to read them too. So here goes:
Currently reading (i.e. on the train) :
C# in Depth by Jon Skeet. Bought it after hearing his DNR appearance (episode 383) and was intrigued to find a book that explains the detailed how and why of C#, not just the simple get stuff working level material. He really concentrates on the details of the language and how it has evolved through its three major versions.
I have only read the first couple of chapters (lots to absorb and think about as I read), but have already learnt some interesting things about the language such as:
- More about nullable types and that there is a null-coalescing operator ?? used to detect nullness and return a default value instead
int j = i ?? 10;
i = 5;
int k = i;
At the end of this, j = 10 and k = 5.
- I have also learnt a lot about generics. I knew enough to be dangerous when using the System.Collections.Generic namespace before, but now I feel I could write a genric class with mulitple where statements.
- I have also learnt (much to my surprise) that C# does not "pass everything by reference" - I'll let you read the book to see why!
I have also recently read (last year or so) :-
Agile Software Development - Alaistair Cockburn - the book that managed to convince me that there is a reason why Agile software development seems to work. It explains some of the theory as to why people on your team behave the way they do and what can be done to influence them.
Patterns of Enterprise Application Architecture - Martin Fowler - An extremely useful and interesting book describing a set of commonly used patterns when building larger scale enterprise applications. The big brother to the gang of four patterns which look at design in the small.
xUnit Test Patterns - Gerard Meszaros - a very thought provoking book on unit testing and its associated patterns. First third is some interesting theory and then the second part is a set of patterns for unit testing. Very useful book to have around in a team trying hard to adopt TTD.