Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Writing this book was a huge undertaking that would have been impossible without the support of many people. I want to apologize upfront for forgetting any of you. (I’ll buy you a Belgian beer if I did.)
First and foremost, I can’t thank my family enough for the support they’ve given me over the years to pursue my dreams. I owe them complete gratitude for their support of my 6 years of university studies in Ghent and their tolerance of my regular absence to participate in the technical community. Moving halfway across the world to work at the Microsoft headquarters has also been met with their understanding. Words seem insufficient to describe how incredibly lucky I am to have their ongoing support. Thanks once more!
I wouldn’t have ended up in the world of computer science if not for some of my teachers. For my first exposure to computers, I have to go back to 1993, checking sums during math class at elementary school. Thanks to “Meester Wilfried” for his MS-DOS- and GWBASIC-powered calculator that shaped my future. In high school, several people kept me on this track as well. Math teachers Paul, Geert, and Ronny had to endure endless conversations about programming languages. In a weird twist of history, I didn’t actually study informatics in high school, but I nevertheless spent countless hours in the computer rooms of my school. Without the support of Hans De Four, I wouldn’t be where I am today. Sorry for all the network downtime caused by my continuous experiments with ProfPass, domain controllers, and whatnot.
Looking back over the past 10 years, I’m eternally grateful to the people at the local Microsoft subsidiary in Belgium (back then called Benelux) for adopting me into the early .NET community and for giving me the chance to work on various projects. In particular, I want to thank my first contact at Microsoft, Gunther Beersaerts, for all the advice he has given me over the years. Gunther’s been a true source of inspiration, causing me to take the speaker stand at various conferences. Your first presentation I ever attended (on “Windows DNA”) is fondly remembered as a font of inspiration, an inspiration directly related to my own “Speaker Idol” award at TechEd EMEA 2006.
During a number of summers in the early 2000s, many Microsoft Belgium people provided a nice place for me to grow and learn while working on various exciting projects. Thanks to Chris Volckerick for taking me on board to build the (now defunct) http://www.dotnet.be website, using what was called ASP+ back then. Later, Gerd De Bruycker took me under his wing to develop the first MSDN home page for Microsoft Belux. Your passion for the developer community has always stuck with me (not just that wild community VIP party in Knokke).
A bigger project called SchoolServer was born in the summer of 2004. Christian Ramioul’s faith in my technical skills needed to land this project was unbelievable. And getting to know the IT professional audience that had to work with the solution wouldn’t have been possible without the wonderful collaboration I had with Ritchie Houtmeyers (remember the countless hours spent in our server room office?) and Ricardo Noulez. Big thanks go to Bart Vande Ghinste for giving me a crash course in COM+.
Over the years, I’ve had the honor to interact with a large number of community members at various conferences. Listing all of them would be a Herculean task, so I won’t even attempt to do so. I want to mention a few, though. First of all, thanks to the Belgian developer evangelism team for their relentless support over the years. Gerd De Brucyker and Tom Mertens, you’ve done a great job. Today’s community is in great hands with Katrien De Graeve, Hans Verbeeck, and Arlindo Alves. Hans De Smaele, you continue to be my ongoing source of debugging and bit-twiddling inspiration. Finally, and sadly enough, this list wouldn’t be complete without taking a moment to remember the late David Boschmans and Patrick Tisseghem, who passed away suddenly. We miss you guys!
My Redmond-based Microsoft Corporation career started in October 2007, thanks to Scott Guthrie’s mail through my blog, asking me to interview with the company. Ultimately, I ended up working on Windows Presentation Foundation’s AppModel team, where I felt welcome from day one. In particular, I want to thank my first office mate, Chango Valtchev, for the countless hours he spent bringing me up to speed in the codebase, sharing tons of debugging insights, and sharing epic hikes. My first couple of managers, Grzegorz Zygmunt and Adam Smith, have been great in helping me shape my early career, while also accommodating my speaking engagements abroad.
As I began writing this book in 2009, many of my colleagues were put to the test. My office mates Mike Cook and Eric Harding had to endure the most boring stories on various language constructs, generated IL code, functional programming adventures, and ways to (ab)use the C# programming language. Benjamin Westbrook, with whom I’ve worked for several months, underwent a similar ordeal during lunchtimes. I have to thank Ben for sharing the things he enjoys most when reading technical books; I hope you find some of your stylistic ideas here and there throughout the book. Patrick Finnigan deserves a special mention here, too. He’s a great colleague who has “had my back” with regard to work our team has been doing. He has also provided invaluable technical and stylistic feedback about this book, making it better in the process. Thanks a lot!
Thanking all the other Windows Presentation Foundation colleagues I’ve worked with and who gave me various technical insights would take up way too much space. Instead, here’s a sampling of folks I’m very grateful to have worked with: Adam, Alik, Andre, Dwayne, Joe, Eric, Matt, Saied, Zia. Thanks so much!
While on this writing adventure, I transitioned to the Cloud Programmability Team. Thanks to Erik Meijer for taking me on board into the oasis he’s created for innovative and creative ideas and for allowing me to work on one of my key passions: LINQ. My colleagues Danny Van Velzen, Jeffrey Van Gogh, Mark Shields, and Wes Dyer have been fantastic with bringing me up to speed. Endless technical discussions were a tremendous source of inspiration that contributed directly to this book’s contents. This is also the right spot to thank my professor Raymond Boute. It turns out Erik and I caught the passion for functional programming from the same professor (although a few decades apart).
I can’t thank the Sams team enough, in particular Neil Rowe for his incredible patience with me. Even though I always knew writing this book was going to be a huge task, lots of unexpected twists made the schedule more challenging than anticipated. Combine this with an ever-growing page count and changing table of contents, and I’m very grateful I could write the book I think is right for a C# programmer audience, with virtually no constraints. I also want to thank the technical team for leading the way through new authoring and publication software and assisting with my numerous technical requests. A special word of thanks goes to the technical reviewer, Doug Holland, and various other team members who participated in various reviews. Writing a book is not only about teaching your readers, it’s also a lot about learning things yourself (including some of the English language, thanks Keith).
None of this book would exist if not for the wonderful C# language and its designers. I want to thank Anders Hejlsberg and the entire language design team for giving us the most popular .NET language out there. This big thank you also applies to the CLR team for bringing a managed runtime to a wide variety of platforms. Internal resources, in particular on our C# discussion list, have provided valuable insights.
Last but not least, I want to thank the waiters and waitresses in various downtown Bellevue restaurants for tolerating my regular book-writing presence, as I hid behind a laptop screen and asked for endless soda refills.