Path: bernina!chx400!ira.uka.de!sol.ctr.columbia.edu!howland.reston.ans.net!paladin.american.edu!darwin.sura.net!dtix!mimsy!alex From: alex@cs.umd.edu (Alex Blakemore) Newsgroups: comp.sys.next.programmer Subject: The Darker Side of C++ (forwarded) Message-ID: <63320@mimsy.umd.edu> Date: 11 Jan 93 19:46:31 GMT Sender: news@mimsy.umd.edu Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 83 I thought some Obj-C users would find it interesting. There are some references sited if you cant make the lecture in Finland next Wednesday. ---------------------- begin forwarded posting -------------- 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 ----------------- end forwarded posting ---------------- -- --------------------------------------------------- Alex Blakemore alex@cs.umd.edu NeXT mail accepted