🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.objective-c
Article #57

Re: Objective-C vs. C++

#57
From: Alex Blakemore
Date: Thu, 27 Aug 1992 18:35
44 lines
2582 bytes
In article <l9pvs3INN23a@west.west.sun.com> comp.lang.objective-c writes:
> It seems that I'm the only person who I've heard say that the best features
> of C++ have nothing to do with object orientation.

You're not alone.

[ list of useful language features like operator overloading, template classes,
  exceptions deleted]

For the record, I'ld just like to point out that these features along with concurrency,
strong typing, and hidden type internal representation have been in Ada for almost
10 years.  Supported by _every_ validated compiler.

Ada83 did have some limitations in the tasking model and weak inheritance support.
Ada9X, which is approaching completion now, improves these features in many ways
based on that decade of experience using and implementing them.
It generalizes Ada83's weak notion of inheritance into a real useful form
with dynamic binding.

One nice twist is that inheritance is an attribute of the type and is distinct
from the way types and operations are grouped (the package) and whether
the internal representation is accessible to clients or subclasses
(private types and child packages).
This easily allows the usual one class per module with no access to internals,
but several other configurations are can be constructed.

C++'s templates still dont compare favorably to the Ada generics from 1983
which are being extended in a way that lets packages be used as generic formal parameters.
This feature is more like ML signatures than C++ templates.

Lots more info is available from ajpo.sei.cmu.edu.
The Ada9X rationale document compares the language features and changes and
compares several other appoaches including C++ and Smalltalk.

I find it interesting that many of the same people that judged Ada large and complex -
which I dispute - now get all misty eyed when they speak of C++ which borrowed
heavily from Ada while keeping many of C's flaws. 

followup by mail please.


-- 
---------------------------------------------------
Alex Blakemore alex@cs.umd.edu   NeXT mail accepted
Technical Details
Message-ID: <59931@mimsy.umd.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!europa.asd.contel.com!darwin.sura.net!haven.umd.edu!mimsy!alex
References: <rmartin.714926059@thor> <l9pvs3INN23a@west.west.sun.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!europa.asd.contel.com!darwin.sura.net!haven.umd.edu!mimsy!alex
From: alex@cs.umd.edu (Alex Blakemore)
Newsgroups: comp.lang.objective-c
Subject: Re: Objective-C vs. C++
Keywords: Ada C++ inheritance overloading exceptions
Message-ID: <59931@mimsy.umd.edu>
Date: 27 Aug 92 18:35:31 GMT
References: <rmartin.714926059@thor> <l9pvs3INN23a@west.west.sun.com>
Sender: news@mimsy.umd.edu
Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742
Lines: 44