comp.lang.ada
 help / color / mirror / Atom feed
From: The Amorphous Mass <robinson@blue.weeg.uiowa.edu>
Subject: Re: next "big" language?? (disagree)
Date: 1996/06/08
Date: 1996-06-08T00:00:00+00:00	[thread overview]
Message-ID: <Pine.A32.3.91.960608201745.15976B-100000@black.weeg.uiowa.edu> (raw)
In-Reply-To: dewar.834237017@schonberg


On 8 Jun 1996, Robert Dewar wrote:

> James Robinson said
> 
> "  Frankly, I can't think of anything better.  We looked all over, and
> this is the best there was.  Remember, the problem is not that it fails
> to work as advertized, and it is not that it is unstable or buggy or
> unpredictable.  The problem is that if you try to do something a little
> bit different from what it's designed for it stops being friendly and
> starts being obscure.  By contrast, if I want one of my C libraries
> to do something a bit different, I just go in and modify them."
> 
> This is as wrong as it could be, and basically could only be written by
> someone who has not understood the whole point of data abstraction,
> using the term widely to encompass object oriented programming as well.
> The whole point of abstraction is to make it easier to reuse code.
> C has advantages, particularly in the simplicity of its computing model,
> and simple syntax, but there is a price to be paid for this simplicity,
> and the price is precisely almost complete lack of data abstraction.
> And it is this lack of data abstraction that makes "just go in and modify"
> type programming MUCH harder in C than in any higher level language with
> proper abstraction facilities (Ada, C++, ...)

  Unfortunately, you read in to my statement something that I wasn't 
saying.  I indentified the libraries as "C libraries" because that's what 
they are.  The point was that libraries that I have the source code and 
docs for are much more reusable then libraries (or class hierarchies, or 
whatever buzzword you want to use :-) that are engineered to "to 
everything" but are transparent to me.

  If I were to pick an ideal language, instead of C (which I use because 
it is highly and easily portable, and the language I am most famiilar 
with) I would have said something like "Smalltalk libraries."  In fact 
Smalltalk is a good example of an organizational system that IMO
intelligently handles code reuse:  The whole shebang runs smoothly and 
transparently, and not only are the individual parts are available for 
modification as necessary, they are also broken up into small, clearly 
written routines.  And its much harder to blow up your machine by making 
a small change in Smalltalk code than in C code.  In fact, our second 
choice for a dev platform was VisualAge, but Smalltalk scared away the 
principle programmer (a FORTRAN guy).

> James, if you disagree, then I suspect you just don't have much experience
> with higher level languages, or, if you do, that, as is common with 
> programmers whose primary experience is with C, you have not yet fully 
> understood what data abstraction and the design of abstract interfaces 
> is about (let alone object oriented programming).

  Well since I didn't disagree you will not be surprised to hear that 
although my primary experience _is_ with C, I have been exposed to a 
large number of programming paradigms (including OOP), and I apply as 
many of the lessons of those paradigms to my C code as I can.  Now 
that I'm no longer in school I might actually have time to _learn_ the 
languages I was exposed to (Smalltalk, Prolog, Miranda) and some 
others that have been suggested to me.

> It is certainly true that much of (the worst of)
> C++ code that is around today was clearly written by C programmers who have
> not yet started to understand what C++ is about.

  And the rest was written by C++ programmers who have not yet started to 
understand what C++ is about.  After all, "what C++ is about" is an open 
question.  I certainly wouldn't use it in a course about object-oriented 
programming!

- James                    "Good candidates for exceptions are situations
james-robinson@uiowa.edu   that do not occur under normal circumstances."
                                                        -- Kevin J. Hopps






  reply	other threads:[~1996-06-08  0:00 UTC|newest]

Thread overview: 100+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <4p0fdd$4ml@news.atlantic.net>
1996-06-04  0:00 ` next "big" language?? (disagree) Peter Hermann
1996-06-04  0:00   ` The Amorphous Mass
1996-06-04  0:00     ` Robert Dewar
1996-06-06  0:00       ` Ken Garlington
1996-06-12  0:00       ` Help making ada pretty CSC Trusted Systems Group
1996-06-14  0:00         ` Sandy McPherson
1996-06-19  0:00         ` Ruediger Berlich
1996-06-04  0:00     ` next "big" language?? (disagree) Peter Hermann
1996-06-04  0:00       ` The Amorphous Mass
1996-06-05  0:00         ` Michael David WINIKOFF
1996-06-07  0:00           ` Robert Dewar
1996-06-05  0:00     ` Ian Ward
1996-06-05  0:00       ` The Amorphous Mass
1996-06-08  0:00         ` Robert Dewar
1996-06-08  0:00           ` The Amorphous Mass [this message]
1996-06-09  0:00             ` Robert Dewar
1996-06-08  0:00         ` Robert Dewar
1996-06-05  0:00   ` ++           robin
1996-06-05  0:00     ` Ian Ward
1996-06-05  0:00       ` Ian Ward
1996-06-06  0:00         ` Richard Riehle
1996-06-07  0:00           ` Richard Riehle
1996-06-08  0:00             ` O'Connor
1996-06-07  0:00           ` Robert Dewar
1996-06-10  0:00             ` Richard Riehle
1996-06-11  0:00           ` ++           robin
1996-06-11  0:00             ` James_Rogers
1996-06-11  0:00               ` Kevin J. Weise
1996-06-11  0:00             ` David Weller
1996-06-11  0:00             ` Chris Warack <sys mgr>
1996-06-11  0:00         ` ++           robin
1996-06-11  0:00           ` Ian Ward
1996-06-12  0:00             ` ++           robin
1996-06-12  0:00               ` Ian Ward
1996-06-11  0:00       ` Jon S Anthony
     [not found]   ` <4p60nk$imd@euas20.eua.ericsson.se>
     [not found]     ` <4p8lmq$oq7@goanna.cs.rmit.edu.au>
1996-06-11  0:00       ` ++           robin
1996-06-11  0:00         ` A. Grant
1996-06-12  0:00           ` Robert Dewar
1996-06-17  0:00             ` A. Grant
1996-06-18  0:00               ` Robert Dewar
1996-06-24  0:00                 ` Robert I. Eachus
1996-06-26  0:00                   ` Norman H. Cohen
1996-06-19  0:00             ` Jon S Anthony
1996-06-20  0:00               ` Robert Dewar
1996-06-24  0:00                 ` Keith Thompson
1996-06-25  0:00                   ` Simon Read
1996-06-25  0:00                   ` Robert A Duff
1996-06-24  0:00                 ` Dale Stanbrough
1996-06-24  0:00                   ` Robert Dewar
1996-06-24  0:00                   ` Assertions (was: Re: next "big" language?? (disagree)) Robert A Duff
1996-06-24  0:00                     ` Assertions (a different intent?) Gary McKee
1996-06-24  0:00                     ` Assertions (was: Re: next "big" language?? (disagree)) Robert Dewar
1996-06-25  0:00                       ` Robert A Duff
1996-06-28  0:00                         ` Robert Dewar
     [not found]                     ` <4qrljg$15l8@watnews1.watson.ibm.com>
1996-06-28  0:00                       ` Robert Dewar
1996-06-24  0:00                   ` next "big" language?? (disagree) Adam Beneschan
1996-06-24  0:00                   ` Lars Duening
1996-06-24  0:00                   ` hopkinc
1996-06-26  0:00                   ` Marc C. Brooks
1996-06-26  0:00                   ` Marc C. Brooks
     [not found]                   ` <4qsbm7$r1s@Starbase.NeoSoft.COM>
1996-06-28  0:00                     ` "Assert"? "Assume"? (was: next "big" language?? (disagree)) Alexander Bunkenburg
1996-06-28  0:00                       ` Ian Collier
1996-07-01  0:00                     ` Cameron Laird
1996-06-24  0:00                 ` next "big" language?? (disagree) Adam Beneschan
1996-06-25  0:00                 ` Brian Nettleton @pulsar
1996-06-26  0:00                   ` Robert Dewar
1996-06-28  0:00                     ` Fergus Henderson
1996-06-28  0:00                       ` Robert Dewar
1996-06-30  0:00                         ` Fergus Henderson
1996-06-30  0:00                           ` Robert Dewar
1996-06-25  0:00                 ` Darin Johnson
1996-06-26  0:00                   ` Dale Stanbrough
1996-06-26  0:00                   ` A. Grant
1996-06-12  0:00           ` ++           robin
1996-06-12  0:00             ` A. Grant
1996-06-14  0:00               ` Richard A. O'Keefe
1996-06-12  0:00         ` Richard A. O'Keefe
1996-06-12  0:00           ` ++           robin
1996-06-12  0:00             ` Richard A. O'Keefe
1996-06-13  0:00               ` ++           robin
1996-06-13  0:00               ` ++           robin
1996-06-12  0:00   ` Jon S Anthony
1996-06-14  0:00   ` Jon S Anthony
1996-06-15  0:00   ` Jon S Anthony
1996-06-18  0:00     ` Adam Beneschan
1996-06-18  0:00   ` Jon S Anthony
1996-06-28  0:00     ` Assertions (an heretic view) Michel Gauthier
1996-06-28  0:00       ` Robert A Duff
1996-06-28  0:00       ` Robert Dewar
1996-06-06  0:00 ` next "big" language?? (disagree) Dale Pontius
1996-06-11  0:00 ` Jon S Anthony
1996-06-12  0:00 ` Help making ada pretty Pedro de las Heras
1996-06-18  0:00 ` next "big" language?? (disagree) ++           robin
1996-06-07  0:00 Ian Ward
1996-06-08  0:00 ` O'Connor
1996-06-10  0:00   ` Matt Kennel
1996-06-11  0:00     ` Ian Ward
1996-06-12  0:00       ` Norman H. Cohen
1996-06-11  0:00     ` Robb Nebbe
1996-06-09  0:00 ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox