3. Languages and OO Design
Recent Studies (Tichy, Hatton, Humphrey, Shepherd and Cartwright)
- C++: 25% more defects than C or Pascal
- A OOD C++ defect takes 2-3 times as long to debug regardless of defect complexity
- Inheritance engenders 6 times more defects
Java: multi-threading and inheritance. Nearly impossible to write correctly. And worse to test!
Horrific "testability" problems of OOD [NIST-TR]
Language definition manuals
- Fortran 150 pages; C++ around 800 pages
- Java JDK 1.2 is twice as large as JDK 1.0.2