As is fairly obvious from the title, the book is inspired by Matthew's 2004 book Imperfect C++. It will follow its elder brother in broad style, but, partly because the C# language allows it, and partly because we've tried hard to make it so, the imperfections will be smaller than the average Imperfect C++ one.
Our current - subject to change - thinking is that we'll split the book into the following major topic groupings:
- Basic Types
- Collections
- Strings
- Multithreading
- Performance
- Frameworks
- Accomodating Machiavelli?
- WhatDoAllTheAcronymsMean
- CannotCompareExchangeWithEnums
- Cannot RethrowFromFunctionExtensionMethodDeclaringClassNamesClash
- No StaticExtensionMethods
- StringJoinNotFlexible
- StringSplitNotExpressive
- ComRuntimeWrappersCannotBeOverloaded