H ? « »

Language peer sets for C++:
United States
United States/1983
Designed 1983
1980s languages
Fourth generation
Late Cold War

C++ (1202/c::003)

C++

Class-based object oriented C  

alternate simple view
Country: United States
Designed 1983
Published: 1983


Stroustrup Bell Labs. An object-oriented superset of C. In C++ a class is a user-defined type, syntactically a struct with member functions. Constructors and destructors are member functions called to create or destroy instances. A friend is a nonmember function that is allowed to access the private portion of a class. C++ allows implicit type conversion, function inlining, overloading of operators and function names, default function arguments, and pass by reference. It has streams for I/O.

C++ release 2.0 - May 1989. Added multiple inheritance, type-safe linkage, pointers to members, abstract classes. "C++ 2.0 Draft Reference Manual"

C++ release 2.1 Added nested types. "The Annotated C++ Reference Manual", M. Ellis et al, A-W 1990.

C++ release 3.0 - Added templates. OOL. Derivative of C, "with classes".Inheritance, polymorphism, encapsulation, data hiding, reusability, etc, are all aspects of C++ and OOL. Very powerful and fast, but considered hard to learn.

Developed by Bjarne Stroustrup, who desribes C++ as "a general-purpose programming language with a bias towards system programming that is better than C; supports data abstraction, OOP, and generic programming". He also said,"within C++, there is a smaller cleaner language struggling to get out".  

"Main problem with C/C++ is that the programmer is required to do their own memory management (to declare variables, explicitly manage pointer-chained lists, dimension buffers and detect or prevent buffer overruns, to allocate and deallocate dynamic storage" Eric S. Raymond.  



People:
Structures:
Related languages
C C++   Evolution of
C with Classes C++   Evolution of
C++ ABC++   Augmentation of
C++ ACT++   Extension of
C++ Amber   Based on
C++ ARTS/C++   Extension of
C++ C#   Influence
C++ C++//   Extension of
C++ C++Linda   Evolution of
C++ CCC   Extension of
C++ CHARM++   Based on
C++ CINT   Interpreter for
C++ CLANG   Extension of
C++ Compositional C++   Extension of
C++ Concurrent C++   Based on
C++ cooC   Extension of
C++ COOL   Extension of
C++ C-XSC   Extension of
C++ DB++   Extension of
C++ DEMETER   Augmentation of
C++ Dylan   Influence
C++ E   Extension of
C++ EUROPA   Extension of
C++ gcc   Implementation
C++ HPC++   Evolution of
C++ Hybrid   Influence
C++ ILU   Interface for
C++ LiveScript   Influence
C++ Mars   Optimisation and subset of
C++ Mentat   Extension of
C++ OAK   Simplification and enhancement of
C++ Open C   Evolution of
C++ P++   Preprocessor for
C++ pC++   Extension of
C++ PCP   Extension of
C++ PK/C++   Extension of
C++ PROP   Extension of
C++ Real-Time C++   Augmentation of
C++ S++   Positive Strong Influence
C++ Synchronous C++   Extension of
C++ TBAG   Extension of
C++ Topsy   Subset
C++ VCODE   Preprocessor for
C++ XC   Extension of
C++ ZQL[C++]   Subsumed

References:
  • Stroustrup, Bjarne (1984) Stroustrup, Bjarne "Data Abstraction in C" pp 1701-1732.
          in Bell Labs Journal. (1984) Bell Labs Journal. Vol 63, No. 8. October 1984
  • Stroustrup, Bjarne (1984) Stroustrup, Bjarne "Operator Overloading in C++"
          in Proc. (1984) Proc. IFIP WG2.4 Conference on System Implementation Languages: Experience & Assessment September 1984
  • Stroustrup, Bjarne (1984) Stroustrup, Bjarne "The C++ Reference Manual" AT&T Bell Labs Computer Science Technical Report No. 108 January 1984
          in Proc. (1984) Proc. IFIP WG2.4 Conference on System Implementation Languages: Experience & Assessment September 1984
  • Stroustrup, Bjarne (1985) Stroustrup, Bjarne "An Extensible i/o Facility for C++" pp 57-70.
          in Proc. (1985) Proc. Summer 1985 USENIX Conference. June 1985
  • Stroustrup, Bjarne (1986) Stroustrup, Bjarne "An overview of C++" pp7-18
          in [OOPWORK 1986] (1986) SIGPLAN Notices 21(10) October 1986 (OOPWORK Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming Yorktown Heights, New York, United States)
  • Stroustrup, Bjarne (1986) Stroustrup, Bjarne "C++ Programming Language" pp71-72
          in (1986) IEEE Software 3(01) January 1986 (Multiparadigm language projects)
  • Stroustrup, Bjarne (1986) Stroustrup, Bjarne "The C++ Programming Language", Addison-Wesley Publishing Co., Inc., Boston, MA, 1986
          in (1986) IEEE Software 3(01) January 1986 (Multiparadigm language projects)
  • Stroustrup, Bjarne (1987) Stroustrup, Bjarne "Multiple Inheritance for C++"
          in Proc. (1987) Proc. EUUG Spring Conference, May 1987.
  • Stroustrup, Bjarne (1987) Stroustrup, Bjarne "The Evolution of C++" pp 1-22.
          in Proc. (1987) Proc. USENIX C++ conference, Santa Fe. November 1987
  • Stroustrup, Bjarne (1987) Stroustrup, Bjarne "What is 'object-oriented programming'?" p51-70
          in [ECOOP 87] (1987) European conference on object-oriented programming on ECOOP '87, October 1987, Paris, France
  • Stroustrup, Bjarne and Shopiro, Jonathan (1987) Stroustrup, Bjarne and Shopiro, Jonathan "A Set of C classes for Co-Routine Style Programming" pp 417-439.
          in Proc. (1987) Proc. USENIX C++ conference, Santa Fe. November 1987
  • Stroustrup, Bjarne (1988) Stroustrup, Bjarne "Parameterized Types for C++"
          in USENIX Computer Systems, Vol.2 No. (1989) USENIX Computer Systems, Vol.2 No. 1. 1989
  • Stroustrup, Bjarne (1988) Stroustrup, Bjarne "Type-safe Linkage for C++"
          in USENIX Computer Systems, Vol 1 No.4. (1988) USENIX Computer Systems, Vol 1 No.4. Fall 1988
  • Trickey, Howard (1988) Trickey, Howard "C++ versus LISP: a case study" pp9-18 Abstract DOI
          in [SIGPLAN] (1988) SIGPLAN Notices 23(02) February 1988
  • Edelson, D. and I. Phol (1989) Edelson, D. and I. Phol "C++: solving C's shortcomings?"
          in (1989) Computer Languages 14(3)
  • Ladd, Scott Robert (1989) Ladd, Scott Robert "Comparing MODULA-2 and C++" DDJ January, 1989 Extract: Intro Extract: Modula-2 Background Extract: C++ Background Extract: General Language Features Extract: Unique Features of Modula-2 Extract: Unique Features of C++ Extract: Conclusion
          in (1989) Computer Languages 14(3)
  • Stroustrup, Bjarne (1989) Stroustrup, Bjarne "Multiple Inheritance for C++"
          in (1989) USENIX Computer Systems, Vol 2 No 4, Fall 1989
  • Stroustrup, Bjarne (1989) Stroustrup, Bjarne "Standardizing C++"
          in The C++ Report. (1989) The C++ Report. 1(1) January 1989
  • Ellis, M. et al, (1990) Ellis, M. et al, "The Annotated C++ Reference Manual", A-W 1990.
          in The C++ Report. (1989) The C++ Report. 1(1) January 1989
  • Liu, Chung-Shyan (1991) Liu, Chung-Shyan "On the object-orientedness of C++" pp63-67 Abstract DOI
          in [SIGPLAN] (1991) SIGPLAN Notices 26(03) March 1991
  • Stroustrup, Bjarne (1991) Stroustrup, Bjarne "The C++ Programming Language", Second Edition, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1991
          in [SIGPLAN] (1991) SIGPLAN Notices 26(03) March 1991
  • Abadi, Martin and Cardelli, Luca (1996) Abadi, Martin and Cardelli, Luca "A Theory of Objects" Springer Monographs in Computer Science, 1996 Picture: Cover photo
          in [SIGPLAN] (1991) SIGPLAN Notices 26(03) March 1991
  • Bjarne Stroustrup (1996) Bjarne Stroustrup "A HISTORY OF C++: 1979-1991" in "History of Programming Languages", ACM Press/Addison-Wesley Publishing Company, New York (1996) ed Bergin and Gibson
          in [SIGPLAN] (1991) SIGPLAN Notices 26(03) March 1991
  • Stroustrup, Bjarne (1997) Stroustrup, Bjarne "The C++ Programming Language", Third Edition, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1997
          in [SIGPLAN] (1991) SIGPLAN Notices 26(03) March 1991
  • (2002) Library of Congress Subject Headings C153
          in [SIGPLAN] (1991) SIGPLAN Notices 26(03) March 1991
    Resources

    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder