From: catherine.jean@di.epfl.ch (Catherine Jean)
Newsgroups: comp.object,comp.lang.c++,comp.software-eng,comp.lang.ada,comp.lang.misc,ch.general,ch.si.choose,ch.si.general,epfl.general,di.general,di.lgl,comp.lang.eiffel
Subject: The darker side of C++ -- Announcement
Keywords: C++, object-oriented languages
Date: 11 Jan 93 15:20:25 GMT
Followup-To: comp.object
Distribution: ch
Organization: Ecole Polytechnique Federale de Lausanne



Swiss Federal Institute of Technology in Lausanne
Department of Computer Science
Software Engineering Laboratory



                       ANNOUNCEMENT OF A LECTURE
                       
                    
                    -- "THE DARKER SIDE OF C++" --
                    
                     Wednesday, January 27, 1993
               15.15 o'clock (end at 17.00 at the latest)


          Ecole Polytechnique Federale de Lausanne - Site Ecublens
          Batiments du Departement d'informatique - room INR 219
         

           by MARKKU SAKKINEN, University of Jyvaskyla, Finland


About the lecturer:
------------------
Markku Sakkinen is a member of the Department of Computer Science and
Information Systems, University of Jyvaskyla, Finland.  He has been an
active researcher in object-oriented programming since 1988, with
several published papers in international journals and conference
proceedings. He has been on the programme committees of ECOOP'91,
EastEurOOPe'91, ECOOP'92 and ECOOP'93, and reviewed papers for other
conferences and journals.

Content:
-------
The talk is mostly based on paper [1] augmented by ideas from [2].
Because of its C heritage, C++ is both weakly typed and weakly
structured. Because of the basic design decisions that were made in its
object-oriented extensions, I claim that C++ is also weakly
object-oriented.  I will discuss several aspects and consequences of
what I call the Fundamental Defect:  that objects do not carry
inambiguous type information at run time, in contrast to almost all
other OO languages. The undisciplined handling of pointers (as in C)
makes the problems worse. I will also mention some interesting problems
of multiple inheritance, mostly pertaining to the distinction between
"virtual" and "non-virtual" base classes (superclasses). Several other
features and their problems will be mentioned, such as: reference types
and argument passing,  nested classes, storage classes and garbage
collection, overloading, assignment and copying, templates (genericity)
and exceptions.

The worst disadvantage of C++ at the moment is political:  accepting
C++ as the standard OO language de facto tends to kill other existing
languages, and stifle the development of a new generation of
essentially better OO languages.

Ample time will be left for questions and discussion after the
lecture.  That allows us to look at some details that really interest
the audience.  Also, many of my opinions are controversial, and I do
not expect all listeners to accept them quietly.

References:
----------
[1] Markku Sakkinen, "The Darker Side of C++ Revisited", which appeared
in Structured Programming, Vol. 13 No. 4 (1992).

[2] Markku Sakkinen, "A Critique of the Inheritance Principles of C++",
in Computing Systems, Vol. 5 No. 1 (1992).


For further information:
-----------------------
Catherine Jean -- catherine.jean@di.epfl.ch
Newsgroups: comp.object