Foreword by Scott Meyers
By any measure, C++ has been a tremendous success, but even its most ardent proponents won’t deny that it’s a complicated beast. This complexity influenced the design of C++’s most widely used successors, Java and C#. Both strove to avoid C++’s complexity—to provide most of its functionality in an easier-to-use package.
Complexity reduction took two basic forms. One was elimination of “complicated” language features. C++’s need for manual memory management, for example, was obviated by garbage collection. Templates were deemed to fail the cost/benefit test, so the initial versions of these languages chose to exclude anything akin to C++’s support for generics.
The other form of complexity reduction involved replacing ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access