Differences between version 19 and revision by previous author of C++.
Other diffs: Previous Major Revision, Previous Revision, or view the Annotated Edit History
Newer page: | version 19 | Last edited on Wednesday, November 19, 2003 6:24:25 pm | by AristotlePagaltzis | Revert |
Older page: | version 16 | Last edited on Wednesday, October 29, 2003 9:38:26 pm | by SamJansen | Revert |
@@ -1,15 +1,14 @@
-A ProgrammingLanguage developed by BjarneStroustrup as the successor to [C], keeping all of its power and flexibility, adding all new disadvantages. It's an almost-superset of its predecessor and adds ObjectOrientedProgramming
, [Template]s and [NameSpace]s.
+A ProgrammingLanguage developed by BjarneStroustrup as the successor to [C], keeping all of its power and flexibility, adding all new disadvantages. It's an almost-superset of its predecessor and adds ObjectOrientation
, [Template]s and [NameSpace]s.
----
!!! Advantages
-* More typesafe
so the compiler
picks up more errors.
-* Generic and typesafe
programming via [Template]s.
-* [NameSpace]s help avoid symbol name collisions between independent pieces of code.
-* ObjectOrientedProgramming
via 'virtual' functions and (multiple) inheritance.
-* [STL], the Standard Template Library
.
+* Strict typing
so the [Compiler]
picks up more errors.
+* Typesafe generic
programming via [Template]s, and a standard library of them, the [STL]
.
+* [NameSpace]s to
help avoid symbol name collisions between independent pieces of code.
+* Code reuse
via ObjectOrientation
.
* iostreams as a replacement for printf(3).
----
@@ -41,9 +40,9 @@
ss >> s;
!! GarbageCollection (not)
-Since BjarneStroustrup liked [Simula67 | http://www.cetus-links.org/oo_simula.html] but decided GarbageCollection was "too slow", he designed his own perfect ObjectOriented
language without it
. Quite a few people will readily assume he must have been on crack. Besides having to manage memory yourself, you now have to cope with new syntactic sugar that can conceal which part of your code is responsible for what bits on your heap. Great fun - really!
+Since BjarneStroustrup liked [Simula67 | http://www.cetus-links.org/oo_simula.html] but decided GarbageCollection was "too slow", he designed his own perfect language with ObjectOrientation but no GarbageCollection
. Quite a few people will readily assume he must have been on crack. Besides having to manage memory yourself, you now have to cope with new syntactic sugar that can conceal which part of your code is responsible for what bits on your heap. Great fun - really!
!! [Template]s
Your compiler will segfault regularly instead of producing error reports when you stuff up a [Template] definition. When it does produce an error report, it looks like the (drastically snipped down) one below (in this case it's from the [STL]).
@@ -62,8 +61,8 @@
/usr/include/stlport/stl/_hash_map.h:188: instantiated from here
/usr/include/stlport/stl/_hashtable.h:557: no match for call to `(const _STL::hash<CActionHandler::Keycode>) (const
CActionHandler::Keycode &)'
-This is perhaps a good reason to stay away from [C++] and program in [INTERCAL] or [PASL]. Or maybe [Java] (See
[JavaAndC++]). Or in something like [Ocaml | http://www.ocaml.org], which has parametized types, classes, and modules, covering most if not all the possible uses of [C++] [Template]s in a saner manner.
+This is perhaps a good reason to stay away from [C++] and program in [INTERCAL] or [PASL]. Or maybe [Java] (see
[JavaAndC++]). Or in something like [Ocaml | http://www.ocaml.org], which has parametized types, classes, and modules, covering most if not all the possible uses of [C++] [Template]s in a saner manner.
-----
-CategoryProgrammingLanguages, CategoryImperativeProgrammingLanguages, CategorySystemsProgrammingLanguages, CategoryObjectOrientedProgrammingLanguages
+CategoryProgrammingLanguages, CategoryImperativeProgrammingLanguages, CategorySystemsProgrammingLanguages, CategoryObjectOrientedProgrammingLanguages, CategoryMachineOrientedProgrammingLanguages