Copyright © Oct. 1996 Ian Joyner. All rights reserved.
[ 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 ]
Comments to author: i.joyner@acm.orgAll contents copyright (C) 1996, Ian Joyner. All rights reserved.
Updated: 01 Jan 2000; Moved: Nov, 16 1997
URL: http://www.elj.com/cppcv3/