On the darker side of C++

  • Markku Sakkinen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 322)


We discuss several negative features and properties of the C++ language, some common with C, others pertaining to C++ classes. Remedies are proposed for most of the latter ones, most of the former ones being feared to be already incurable. The worst class-related defects claimed in present C++ have to do with free store management. Some hints are given to programmers on how to avoid pitfalls.


Base Class Class Object Object Orientation Actual String Member Function 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AT&T]
    UNIX Syslem V AT&T C++ Translator Release Notes, AT&T 1985 (307-175 Issue 1).Google Scholar
  2. [Bana]
    Mike Banahan, The C Book: Featuring the draft ANSI C Standard, The Instruction Set Series, Addison-Wesley 1988.Google Scholar
  3. [Carg]
    T. A. Cargill, Pi-A Case Study in Object-Oriented Programming, OOPSLA’ 86 Proceedings, ACM SIG-PLAN Notices Vol. 21 No. 11 (November 1986), p. 350–360.CrossRefGoogle Scholar
  4. [Caro]
    John Carolan, The Santa Fe Trail, EUUG Newsletter Vol. 8 No. 1 (Spring 1988), p. 41–44.Google Scholar
  5. [Conr]
    Reidar Conradi and Per Holager, MARY Textbook, RUNIT (Trondheim, Norway) 1974.Google Scholar
  6. [Dahl]
    Ole-Johan Dahl. Bjørn Myhrhaug and Kristen Nygaard, SIMULA 67 Common Base Language, Norwegian Compuling Center 1968 (No. S-2).Google Scholar
  7. [Dewh]
    Stephen C. Dewhurst, Flexible Symbol Table Structures for Compiling C++, Software-Practice and Experience, Vol. 17 No. 8 (August 1987). p. 503–512.zbMATHCrossRefGoogle Scholar
  8. [Gloc]
    designer C++ release 1.2 User Guide, Glockenspiel Ltd. of Dublin 1987.Google Scholar
  9. [Gold]
    Adele Goldberg and David Robson, Smalltalk-80: The Language and its Implementation, Addison-Wesley 1983.Google Scholar
  10. [Gorl]
    Keith E. Gorlen, An Object-Oriented Class Library for C++ Programs, Software-Practice and Experience, Vol. 17 No. 12 (December 1987), p. 899–922.CrossRefGoogle Scholar
  11. [Harb]
    Samuel P. Harbison and Guy L. Steele Jr.. C: a Reference Manual, Prentice-Hall 1984.Google Scholar
  12. ]Khos]
    Setrag N. Khoshafian and George P. Copeland, Object Identity, OOPSLA’ 86 Proceedings, ACM SIG-PLAN Notices Vol. 21 No. 11 (November 1986), p. 406–416.CrossRefGoogle Scholar
  13. [Lisk]
    Barbara Liskov et al., CLU Reference Manual, Lecture Notes in Computer Science 114, Springer-Verlag 1981.zbMATHGoogle Scholar
  14. [Nuut]
    Esko Nuutila et al., XC-A Language for Embedded Rule Based Systems, ACM SIGPLAN Notices, Vol. 22 No. 9 (September 1987), p. 23–31.CrossRefGoogle Scholar
  15. [Olsz]
    Jacek Olszewski, Capability Oriented Aliasing Language Rationale, Technical Report No. 87/89, Department of Computer Science, Monash University (Australia) 1987.Google Scholar
  16. [Rich]
    John E. Richards, GKS in C++, EUUG Newsletter, Vol. 7 No. 1 (1987), p. 53–64.Google Scholar
  17. [Saje]
    A. S. M. Sajeev and J. Olszewski, Manipulation of Data Structures Without Pointers, Information Processing Letters, Vol. 26 No. 3 (November 1987). p. 135–143.CrossRefGoogle Scholar
  18. [Sakk]
    Markku Sakkinen, Comparison as a Value-yielding Operation, ACM SIGPLAN Notices, Vol. 22 No. 8 (August 1987), p. 105–110.CrossRefGoogle Scholar
  19. [Salm]
    Airi Salminen, A method for designing tools for information retrieval from documents, Proc. 4th Symp. on Empirical Foundations of Information and Software Sciences (1986), p. 261–272. Plenum Press 1988.Google Scholar
  20. [Snyd]
    Alan Snyder, Encapsulation and Inheritance in Object-Oriented Programming Languages, OOPSLA’ 86 Proceedings, ACM SIGPLAN Notices Vol. 21 No. 11 (November 1986), p. 38–45.CrossRefGoogle Scholar
  21. [Stro1]
    Bjarne Stroustrup, The C++ Programming Language, Addison-Wesley 1986.Google Scholar
  22. [Stro2]
    Bjarne Stroustrup. An Overview of C++, Object-Oriented Programming Workshop, ACM SIGPLAN Notices Vol. 21 No. 10 (October 1986), p. 7–18.CrossRefGoogle Scholar
  23. [Stro3]
    Bjame Stroustrup, What is “Object-Oriented Programming”?. Proc. 1st European Conf. on Object Oriented Programming, Paris (June 1987), also to appear in IEEE Software, May 1988.Google Scholar
  24. [Stro4]
    Bjarne Stroustrup, The Evolution of C++: 1985 to 1987, Proc. USENIX C++ Workshop, Santa Fe, New Mexico. USA. (November 1987).Google Scholar
  25. [Stro5]
    Bjarne Stroustrup, Possible Directions for C++, Proc. USENIX C++ Workshop, Santa Fe, New Mexico, USA. (November 1987).Google Scholar
  26. [Stro6]
    Bjame Stroustrup, private communication, 1988.Google Scholar
  27. [Tric]
    Howard Trickey, C++ versus Lisp: A Case Study, ACM SIGPLAN Notices, Vol. 23 No. 6 (February 1988) Google Scholar
  28. [Wegn]
    Peter Wegner, Dimensions of Object-Based Language Design, OOPSLA’ 87 Proceedings. ACM SIG-PLAN Notices Vol. 22 No. 12 (December 1987), p. 168–182.CrossRefGoogle Scholar
  29. [Wien]
    Richard S. Wiener, Object-Oriented Programming in C++-A Case study, ACM SIGPLAN Notices, Vol. 22 No. 6 (June 1987). p. 59–68.CrossRefMathSciNetGoogle Scholar

Copyright information

© Spnnger-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Markku Sakkinen
    • 1
  1. 1.Department of Computer ScienceUniversity of JyväskyläJyväskyläFinland

Personalised recommendations