comp.lang.ada
 help / color / mirror / Atom feed
From: andrewd@chook.adelaide.edu.au (Andrew Dunstan)
Subject: Re: c++ vs ada results
Date: 26 Jun 91 01:26:02 GMT	[thread overview]
Message-ID: <3812@sirius.ucs.adelaide.edu.au> (raw)
In-Reply-To: 1991Jun25.002928.16897@eve.wright.edu

In article <1991Jun25.002928.16897@eve.wright.edu>,
tmcclory@eve.wright.edu (Tom McClory) writes:
|> In article <3776@sirius.ucs.adelaide.edu.au>
andrewd@chook.adelaide.edu.au (Andrew Dunstan) writes:
|> >In article <1991Jun18.122812.18190@eua.ericsson.se>,
|> >euamts@eua.ericsson.se (Mats Henricson) writes:
|> >
|> >|> I have so far only done programming as a library designer, and I
think that
|> >|> is *VERY* difficult if you try to produce code that is:
|> >|> a) fast
|> >|> b) not wasting memory
|> >|> c) usable
|> >|> d) reusable (in terms of subclasses)
|> >|> e) etc
|> >|> f) etc
|> >|> g) etc
|> >|> 
|> >
|> >Yes, but writing libraries should not be so hard. It isn't in Ada.
|> >You've really made a point in Ada's favour.
|> >
|> 
|> I strongly disagree with Andrew Dunstan that "writing" reusable
|> libraries is any easier in Ada than other languages.  The issue isn't
|> the coding, but the designing.
|> 

I looked again and saw that Mats was talking about "producing code",
not design. Of course, there are language-independent aspects of
programming, particularly in abstract design. These are often very
difficult, but the issue in this discussion has been C++ vs. Ada.
That was what I was dealing with.

|> Writing truly reusable libraries that balance the conflicting tradeoffs 
|> Mats Henricson describes is a very difficult design problem that is 
|> independent of the programming language used.  Grady Booch in his 
|> recent book _Object_Oriented_Design_ does a very nice job explaining why.
|>

See above. I haven't read the book, but I will try to get a copy!
 
|> As an example of how difficult writing such libraries are, even in Ada,
|> check out the book _Software_Components_with_Ada_ also written by Booch.  
|> It is very evident that much thought, talent, and experience went into 
|> designing a collection of reusable data structures and common utilities.  
|> The data structures in his book, linked lists, queues, stacks, trees,
|> graphs, etc. are the stuff most data structures course are made of.

I have read this and used a few of the tools. It has a useful set of
tools, but there is just something about it that occasionally annoys me.
Maybe it's just that I don't like identifiers like
the_small_brown_dog_with_a_broken_left_front_leg! :-)
Seriously, what I find disconcerting is that his abstractions have a
strange feel to them. They don't reflect the way I think about objects,
so using them is a bit too much of an effort. (This is an important
issue in program/library design!)

|> But designing for introduces many more important design decisions as
|> Mats Henricson notes.  In fact, it can be argued that since it is
|> optional for compiler vendors to implement garbage collection in the 
|> compiler runtime support, designing reusable components for Ada is *more* 
|> difficult. Any component that creates and destroys many instances during 
|> execution must itself perform the garbage collection.  The designer of
|> such a component must take this into account during design and during
|> implementation.  All "object oriented" languages I'm familiar with
|> (Smalltalk, C++, Eiffel) provide garbage collection to remove this
|> burden from the programmer.

I agree that garbage collection is a serious issue, and must be dealt
with promptly and effectively by compiler vendors. It is not good
enough any more to have vendors taking advantage of the "option" in
the standard.

This is an example of a fundamental issue in language design. How much,
and what, do we leave up to the programmer, and how much and what do we 
take care of in the run-time system of the language. Which seems to
get us back to where we started!

#######################################################################
#  Andrew Dunstan                   #   There's nothing good or bad   #
#  Department of Computer Science   #   but thinking makes it so.     #
#  University of Adelaide           #                                 #
#  South Australia                  #          - Shakespeare          #
#  net: andrewd@cs.adelaide.edu.au  #                                 #
#######################################################################

  parent reply	other threads:[~1991-06-26  1:26 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1991-06-12 16:47 c++ vs ada results alan dare
1991-06-12 19:15 ` Paul Martz
1991-06-12 20:17 ` Jim Showalter
1991-06-13 20:49   ` Paul Kohlmiller
1991-06-13 23:12     ` Bruce Jones
1991-06-14 17:56   ` GNU c++ bashing (was Re: c++ vs ada results) Eli Brandt
1991-06-16  2:48   ` c++ vs ada results Russ Nelson
1991-06-16  4:10   ` Sean Eric Fagan
1991-06-18  4:17     ` Jim Showalter
1991-06-18  8:33       ` Sean Eric Fagan
1991-06-18 21:53         ` Jim Showalter
1991-06-18 12:28       ` Mats Henricson
1991-06-18 22:06         ` Jim Showalter
1991-06-19 15:07           ` Dan Weinreb
1991-06-19 17:00           ` Doug Smith
1991-06-20 14:08             ` Steve Juneau
1991-06-20 19:56               ` Robert I. Eachus
1991-06-21 17:27                 ` David M Geary
1991-06-20 22:09               ` Paul Stachour
1991-06-21 17:03                 ` David M Geary
1991-06-23  3:14                   ` Jim Showalter
1991-06-26 22:13                 ` Dan Weinreb
1991-06-21 22:01               ` Jim Showalter
1991-06-20 14:35             ` chief programmer team organizations was (c++ vs ada results) Alex Blakemore
1991-06-21 12:40               ` chief programmer team organizations was (c++ vs ada results)H house ron
1991-06-21 15:47                 ` chief programmer team organizations Joseph Beckenbach {Adapter Software Release Engr}
1991-06-21 22:25                 ` chief programmer team organizations was (c++ vs ada results)H Jim Showalter
1991-06-26 22:18                   ` Dan Weinreb
1991-06-21 22:04               ` chief programmer team organizations was (c++ vs ada results) Lars P. Fischer
1991-06-23  3:17                 ` Jim Showalter
1991-06-24 13:23                 ` Jim Hargrove
1991-06-21 22:21               ` Jim Showalter
1991-06-22  2:14               ` John Nagle
1991-06-23  3:23                 ` Jim Showalter
1991-06-23 13:21                   ` David Feustel
1991-06-23 18:54                     ` Jim Showalter
1991-06-27 15:30                     ` Dan Weinreb
1991-06-24  4:00                   ` Marco S Hyman
1991-06-24 20:23                     ` Stanley Friesen
1991-06-26  0:37                       ` Jim Showalter
1991-06-24 20:29                     ` Jim Showalter
1991-06-24 18:29                   ` John Nagle
1991-06-25 18:38                     ` Jim Showalter
1991-06-25 19:30                       ` Christopher Warack
1991-06-25 20:06                     ` chief programmer team organizations John Baldwin
1991-06-24  9:36                 ` chief programmer team organizations was (c++ vs ada results) George C. Harrison, Norfolk State University
1991-06-25 13:42                   ` Harry Erwin
1991-06-26 16:15                 ` Bob Martin
1991-06-19 18:36           ` c++ vs ada results Jim Showalter
1991-06-19 15:01         ` Dan Weinreb
1991-06-24  2:29         ` Andrew Dunstan
1991-06-24 10:06           ` David Emery
1991-06-24 13:16           ` Mats Henricson
1991-06-25  4:29           ` Tom McClory
1991-06-26  0:35             ` Jim Showalter
1991-06-26  1:26             ` Andrew Dunstan [this message]
1991-06-26 22:47               ` Jim Showalter
1991-06-27 15:47                 ` Alex Blakemore
1991-06-27 23:58                   ` Jim Showalter
1991-06-25 19:27           ` Jim Showalter
1991-06-23 23:59       ` CBW Consulting
1991-06-24 20:11         ` Jim Showalter
1991-06-12 21:27 ` Dan L. Pierson
  -- strict thread matches above, loose matches on Subject: below --
1991-06-20 16:24 Chuck Shotton
1991-06-22  3:24 ` Thomas M. Breuel
     [not found] <164741@<1991Jun12>
1991-06-20 17:58 ` ryer
1991-06-24 14:44 ` ryer
1991-06-27 12:34 Chuck Shotton
1991-06-27 18:24 Ray Diederich, 301-294-8400
1991-07-01  5:15 Andrew Dunstan
1991-08-13 14:29 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!qt.cs.utexas.edu!cs.utexas.e
1991-08-13 22:08 David Emery
1991-08-14  5:03 Mike Feldman
1991-08-14 14:41 Fred Stluka
1991-08-14 18:25 Doug Smith
1991-08-14 18:40 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!swrinde!cs.utexas.edu!utgpu!
1991-08-14 19:15 Doug Smith
1991-08-14 20:15 Jim Showalter
1991-08-15 13:30 Paul Baker - CTA
1991-08-15 15:40 Andy Davidson
1991-08-16 17:56 Doug Smith
1991-08-29 16:54 David Emery
1991-08-30  7:24 Ma ts Henricson
replies disabled

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