Acknowledgments

Charlie Calvert:

Like most authors, I feel a deep and true gratitude to those who helped me complete this text. Many of them made major contributions to the finished product and deserve much more acclaim than the conventions of book publishing allow them to receive. I’m very grateful to everyone who has helped me, and I hope that everyone mentioned here and those who I unintentionally left out understand that my gratitude extends beyond what can be expressed in these few paragraphs.

I want to thank Nick Paldino, Christophe Nazarre, and Ron Landers for their excellent technical review. All three did a fine job, and I learned much from each of them. Although each reviewer had his own set of valuable contributions, I should perhaps add that Christophe did an unusually excellent job, providing one of the best reviews of a technical document I’ve ever seen. It’s interesting to trace the arc that a writer’s reaction to reviews swings through over the years. When I was in grade school, I took the marks on my paper by teachers as the word of God and never thought to question them. Later I learned to plumb the depths of ingratitude by learning to resent the numerous and well-deserved red scratchings that showed up on college papers and early professional manuscripts. At last I learned to endure the criticism with feigned good will, knowing that the medicine might taste badly but ultimately would be beneficial. And now, after all these years, my only reaction is wonder and amazement that anyone is willing to take the time to help me clean up what I have written. Ron, Christophe, and Nick: Your review of this text saved me from numerous egregious blunders and made many worthwhile contributions to the pages of this book. Thank you for your excellent and thoughtful review of my writing, and thank you to my publishers for assembling this excellent team! Whatever merit there may be in the chapters I contributed to this book owes much of its value to your efforts.

At one time or another, nearly every engineer on the teams I work with has given me valuable help. However, four people have consistently come to my aid with excellent explanations of some of the trickiest and most interesting parts of the C# language. In no particular order, I want to thank Eric Lippert, Luke Hoban, Alex Turner, and Mads Torgersen for the support they have so generously given me. These are four of the most talented engineers I’ve ever spoken with, but I value them even more for their ability to take complex ideas and put them in language that anyone can understand.

Other folks at work who deserve thanks include Damien Watkins, Dustin Campbell, Kirill Osenkov, DJ Park, Marcelo Guerra Hahn, David Sterling, Matteo Taveggia, Anders Hejlsberg, Eric Maino, Mary Deyo, Lisa Feigenbaum, Beth Massi, Jomo Fisher, Sam Ng, Tim Ng, Kevin Pilch-Bisson, Wes Dyer, Esen Tuna, Luca Bolognese, Scott Nonnenberg, and Karen Liu. Lists like this always leave out nearly as many people as they include. I hope that those who are deserving of mention, but don’t see their names here, will forgive me the omission.

I also want to thank my coauthor, Dinesh Kulkarni, for giving me the chance to work with him on this book. That Dinesh is an excellent engineer and manager goes without saying. My special privilege has been to get to know him so well. In the rarified technical atmosphere where Dinesh dwells, one encounters many extraordinary professionals. Dinesh’s special gift is to combine his technical talent with the warmth, wit, and generosity of a first-class human being. If there were more people like Dinesh, this would be a better world.

My editors at Addison Wesley, most particularly the redoubtable Joan Murray and the ever-helpful Olivia Basegio, were both patient and supportive. I have to confess that I was completely outclassed by them nearly every step of the way, and I feel very privileged to have had the chance to work with such extraordinary professionals. Joan, Olivia, and the others at Addison Wesley give me something to aspire to: They demonstrate how it ought to be done. What a joy it has been to work with you all!

I have to thank my wife Margie for her otherworldly patience and an understanding beyond the capacity of mere mortals. Margie is an angel, and the support she gave me while I wrote this book is but one of the many, many things for which I owe her my undying gratitude and love.

Dinesh Kulkarni:

For me, this book is the culmination of an incubation project I joined almost four years ago. Although my name appears as one of the two authors, the book is a record of the work done by a large number of people inside and outside Microsoft. I am fortunate to have had a chance to write about the work, and I acknowledge their contributions here.

I would like to start with Erik Meijer, who introduced and urged me to join the Language-Integrated Query incubation project headed by Anders Hejlsberg in the small but elite C# Product Unit at Microsoft. There, the design of LINQ was carried out primarily in the grueling but delightful language design meetings attended by a small group of dedicated people. There I had the privilege of joining Anders Hejlsberg, Matt Warren, Erik Meijer, Peter Hallam, and later, Mads Torgersen, for some intense design discussions about all aspects of LINQ. That is where I learned the essence of language and API design with LINQ as a working example. It was as much a work of art as a product of engineering practices.

The response of the .NET community to our LINQ previews in Fall 2005 and Spring 2006 was phenomenal. Their continued encouragement, support, and criticisms throughout the process helped shape LINQ. They have had a significant impact on the subject of this book.

The C# product unit was a perfect place for turning the incubation and previews into a shippable product. That is where C# 3.0, LINQ to Objects, and LINQ to SQL morphed from preview into products. Matt Warren built most of the LINQ preview components and was the architect and super developer for the LINQ to SQL component that I ended up driving as the program manager. He is one of the best developers I have ever had a chance to work with. Likewise, the development team lead by Terry Adams and the QA team lead by Daigo Hamura provided great examples of engineering and innovation required to go from a preview to a product under very challenging conditions. A partner team led by Antoine Cote, Jay Hickerson, and Young Joo provided a great designer experience for our run-time work and also provided a foundation for the Entity Framework designer. Thank you for building a wonderful product and for being so supportive throughout the process. From that team, Mathew Charles and Vijay Upadya continue to inspire me as colleagues on our new project to build a multitier application framework using LINQ. Overall, the heroic efforts of the team really motivated me to tell the story of LINQ through this book.

My management chain—especially Luca Bolognese, Raj Pai, and Drew Fletcher—struck a great balance between being demanding and nurturing. Alex Turner, who joined as an intern and developed more than 300 samples (with $1/sample bounty) for the preview, perfectly rounded out the team.

I was fortunate to find an experienced and well-known coauthor—Charlie Calvert. He set an example for making the most complex topics simple through his writing. Charlie’s empathy for the common developer and his understanding of the developer community are truly exceptional, and I feel privileged to have had a chance to learn from him about the process of writing a book. His constant encouragement and calm approach were essential for me to get to the finish line. His exemplary dedication and professionalism will continue to inspire me well into the future.

I would like to thank Nick Paldino, Christophe Nazarre, and Ron Landers for their detailed reviews that have significantly improved the clarity and accuracy. Each of them had a unique perspective that nicely complemented the other. Nick has been a reviewer of LINQ and C# since the early previews and continues to be an advocate for clarity and precision. Ron’s insistence on better explanation has hopefully made the book more accessible. Christophe in particular did such a wonderful job finding subtle errors that I would not want to write again without having him as a reviewer.

The patience and sacrifice of my family enabled me to complete the book. My children, Siddharth and Shruti, and my wife, Devaki, put up with my regular absence as I kept writing and revising chapters for twice as long as expected. Devaki also helped with preliminary reviews of my early drafts. I am thankful to them for being the silent and patient contributors.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset