[ Chapter: toc | 1 | 2 | 3 | 4 | 5 | bib | web | (c) | ij ] [ elj.com | ps | pdf ]

[Select]
[C++?? : A Critique of C++ (3rd Ed.)]

C++?? : A Critique of C++ (3rd Ed.)

and

Programming and Language Trends of the 1990s

Copyright © Oct. 1996 Ian Joyner. All rights reserved.

[http://www.elj.com/oue1/]

The views in this critique in no way reflect the position of my employer - Ian Joyner 1996

Table of Contents

[ To: next | prev | top | bottom ]

Select one of the links below to reach the section in this Table of Contents

0. Abstract
1. Introduction
2. The Role of a Programming Language
3. C++ Specific Criticisms
4. Generic C Criticisms
5. Conclusions
6. Bibliography
7. Webliography
c. Copyright
ij Ian Joyner

Abstract
1. Introduction
2. The Role of a Programming Language
2.1 Programming
2.2 Communication, Abstraction And Precision
2.3 Notation
2.4 Tool Integration
2.5 Correctness
2.6 Types
2.7 Redundancy And Checking
2.8 Encapsulation
2.9 Safety And Courtesy Concerns
2.10 Implementation And Deployment Concerns
2.11 Concluding Remarks
3. C++ Specific Criticisms
3.1 Virtual Functions
3.2 Global Analysis
3.3 Type - Safe Linkage
3.4 Function Overloading
3.5 The Nature Of Inheritance
3.6 Multiple Inheritance
3.7 Virtual Classes
3.8 Templates
3.9 Name Overloading
3.10 Nested Classes
3.11 Global Environments
3.12 Polymorphism and Inheritance
3.13 Type Casts
3.14 RTTI and Type Casts
3.15 New Type Casts
3.16 Java and Casts
3.17 `.' and `->'
3.18 Anonymous Parameters In Class Definitions
3.19 Nameless Constructors
3.20 Constructors and Temporaries
3.21 Optional Parameters
3.22 Bad Deletions
3.23 Local Entity Declarations
3.24 Members
3.25 Inlines
3.26 Friends
3.27 Controlled Exports vs Friends
3.28 Static
3.29 Union
3.30 Structs
3.31 Typedefs
3.32 Namespaces
3.33 Header Files
3.34 Class Interfaces
3.35 Class Header Declarations
3.36 Garbage Collection
3.37 Low Level Coding
3.38 Signature Variance
3.39 Pure Virtual Functions
3.40 Programming by Contract
3.41 C++ and the Software Lifecycle
3.42 Case Tools
3.43 Reusability and Communication
3.44 Reusability and Trust
3.45 Reusability and Compatibility
3.46 Reusability and Portability
3.47 Idiomatic Programming
3.48 Concurrent Programming
3.49 Standardisation, Stability and Maturity
3.50 Complexity
3.51 C++: The Overwhelming OOL of Choice ?
4. Generic C Criticisms
4.1 Pointers
4.2 Arrays
4.3 Function Arguments
4.4 Void and Void *
4.5 Void Fn ()
4.6 Fn ()
4.7 Fn ( Void )
4.8 Metadata in Strings
4.9 ++, --
4.10 Defines
4.11 Null Vs 0
4.12 Case Sensitivity
4.13 Assignment Operator
4.14 Char; Signed and Unsigned
4.15 Semicolons
4.16 Booleans
4.17 Comments
4.18 Cpaghe++I
4.18.1 Cpaghe++i Gotos
4.18.2 Cpaghe++i Globals
4.18.3 Cpaghe++i Pointers
5. Conclusions
6. Bibliography
7. Webliography
Copyright
About Ian Joyner

[ To: next | prev | top | bottom ]


[ Chapter: toc | 1 | 2 | 3 | 4 | 5 | bib | web | (c) | ij ] [ elj.com | ps | pdf ]

[Select]
[C++?? : A Critique of C++ (3rd Ed.)]

Comments to author: i.joyner@acm.org

All contents copyright (C) 1996, Ian Joyner. All rights reserved.
Updated: 01 Jan 2000; Moved: Nov, 16 1997
URL: http://www.elj.com/cppcv3/