.NET for Java Developers

It's really more of a paper than a book, but e-books are weighing in at 40 or so pages these days, so what the hell, let's include it. Microsoft approached me about writing this one, and I was actually quite happy to do it--it was, in a lot of ways, a marked difference from the days when .NET and Java were seen as mortal enemies, and I tried to allude to that right from the Introduction:

When I was about eight years old, my parents took my sister and me to Paris, France. It was our first trip out of the country, and aside from the ridiculously long flight--eight hours on an airplane feels like forever to somebody who hasn’t yet finished their first decade of life--I really had no idea of what to expect. In fact, in an amusing anecdote my father has yet to tire of telling, I remember having to sit down with my parents in front of a globe so that they could explain to me that "the United States" was not, in fact, synonymous with "the world."
It was entirely a trip of firsts: my first experience wandering around in a world where I couldn’t understand any of the written signs, my first experience eating food I couldn’t recognize, and my first experience feeling completely lost in the world around me. I found, to my eight-year-old horror, that I couldn’t even figure out which bathroom to use—which, considering I had just the year before managed to convince my mother I didn’t need to be escorted to the bathroom and back, was of particular concern. I didn’t want her to start thinking I actually needed adult supervision. This was clearly not my home, and I was more than a little terrified of it.
Visiting a foreign land, particularly to someone who has cocooned themselves entirely in the concepts and cultures of "home," can be intimidating and overwhelming without a guide. On that trip to France I had my parents, and despite neither of them speaking anything close to fluent French, they managed to guide us through the tricky parts. (French-English guidebooks are a wonderful thing.)
For the typical Java developer, finding a guide to exploring the .NET ecosystem can be tricky, since the average Java developer can still hearken back to a time when expressing an interest in looking at .NET was tantamount to declaring a desire to betray everything good and right in the world (or so it seemed, at least at the time).
In this paper, I will serve as your guide to the .NET world. I’ve been a part of the .NET ecosystem almost as long as I’ve been a part of Java’s. I started with Java in 1996; I started with what would become .NET in 2000, even before it was announced. I’ve built applications in both, written books for both, and explored the source for both. They’re closer to one another than you might think, but each has been fundamentally influenced by the people using them. In fact, it’s not a bad analogy to think of them as twin brothers, separated at birth, raised by different sets of parents. Same DNA, but shaped by their experiences and events to be different in a number of interesting places.

Publisher's page for the book