comp.lang.ada
 help / color / mirror / Atom feed
* An observation of Ada (may offend)
@ 1995-03-17  9:27 R.A.L Williams
  1995-03-17 15:23 ` Robb Nebbe
                   ` (4 more replies)
  0 siblings, 5 replies; 55+ messages in thread
From: R.A.L Williams @ 1995-03-17  9:27 UTC (permalink / raw)


In article <VLADIMIR.95Mar13204932> Vladimir Vukicevic wrote:

[well-deserved dismissal of student gripe deleted]

: Speaking of why people think Ada is not a good language... it'd be nice
: if someone collected the many myths about Ada, and collected them all
: together for distribution to the unbelievers. :-)  This would simplify
: telling people about Ada, especially if all they've heard was that it's
: a "big ugly ancient language used by the government", or that it's too
: 'huge' to be worth doing anything with.

Not 'myths' but 'gripes' - its a matter of perspective!

Some years ago I spent some time writing applications in Ada 83 (of
course, it was just 'Ada' then). I wrote both workstation and embedded
applications and I formulated a number of gripes about the language at
the time. I'm now (re-)learning Ada in its Ada95 form and I'm glad to
see that many of the gripes have been addressed.

Anyway, FWIW, here's a list (in no particular order). I'd be interested 
to see how many strike a chord with other people:

a. No unsigned integers (fixed in Ada95) HCTBAEL.

b. No bit level manipulation (fixed in Ada95 but only for unsigned
ie. mod INTEGERs, I can't test a sign bit, not that I need to) HCTBAEL.

c. Inflexible I/O - no unformatted binary files - this may
have been fixed in Ada95 but GNAT doesn't support STREAMs yet so
I haven't been able to play with it.

d. No pointers to functions - except for the 'ADDRESS attribute which,
being a chapter 13 item is at the whim of the compiler vendor (not very
portable). This is fixed in Ada95.

e. No short cut operators (+= etc.) -- sorry, we've had this debate
already in another thread, I've heard the objections, I still like the
operators.

f. Undefined 'baggage' in the run-time system. OK, this is unavoidable
with a language like Ada, it makes me nervous with Eiffel and C++ as
well, but, so far, I haven't tried to use those languages in embedded
systems (got a C++ one coming up soon). Its not so much needing a
run-time system, its not knowing what's in it. This is largely a compiler
vendor issue, not a language issue. HCTBAEL

g. Task overhead for serialized data access. Fixed in Ada95 with
protected types I believe, that's one of the next things to play with.

h. And a special one for Ada95: poor encapsulation of objects. I can
define a 'member function' for a class by including the class in the
parameter list. Unlike C++ or Eiffel, I can do this *anywhere* in my code,
even a nested function hidden somewhere seemingly 'irrelevant'. Whereas
other features of Ada go out of their way to force the programmer to
follow 'good practice' (sometimes a matter of opinion), this seems
very lax.

HCTBAEL = "How can this be an embedded language?" 

My experience with Ada, confirmed by many people that I spoke to at the
time was that, for embedded systems at least, Ada was used as cosmetic
window dressng to a vast quantity of assembler. This was made necessary
by the shortcomings of the language for addressing low level machine
interactions. To some extent, the same was also true of X11 software
on workstations. I see from responses in other threads that this may
have changed in recent years. All I can say is about time!

: 	-- Vladimir Vukicevicn
: 	-- vladimir@intrepid.com

Bill Williams
bill.williams@gec-mrc.co.uk




^ permalink raw reply	[flat|nested] 55+ messages in thread
* Re: Is Ada the future? [was: Is C++ the future?]
@ 1994-10-04  8:41 Robb Nebbe
  1994-10-13 22:01 ` Val Kartchner
  0 siblings, 1 reply; 55+ messages in thread
From: Robb Nebbe @ 1994-10-04  8:41 UTC (permalink / raw)


In article <milodCx46t7.FIB@netcom.com>,
   milod@netcom.com (John DiCamillo) writes:

|> Languages are not maintainable.  Rather, programs are main-
|> tainable.  A good language and environment coupled with
|> dedicated engineers and good development practices can pro-
|> mote the generation of maintainable code.  In what specific
|> ways does Ada9x promote program maintainability that are
|> *not* provided by C++ or Eiffel?

In my opinion there are two important factors that make software
maintainable. The ability to define an abstraction and have the
compiler enforce this abstraction and the ability for the person
doing the maintenance to understand the abstraction.

For defining and particularly enforcing an abstraction you could
make a fairly strong case that Ada is better than C++. The case
wouldn't be that you can't define and enforce an abstraction in
C++, which would be a bit naive, but that in some cases the effort
required goes far beyond what is required in Ada.

Understandability is probably more closely related to the quality
of the code than the language used but I know for a fact that the
language has at least some influence. I have yet to see any Ada
code as badly written as some of the C I have seen (not even close
in fact).

- Robb Nebbe



^ permalink raw reply	[flat|nested] 55+ messages in thread

end of thread, other threads:[~1995-03-29  8:31 UTC | newest]

Thread overview: 55+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1995-03-17  9:27 An observation of Ada (may offend) R.A.L Williams
1995-03-17 15:23 ` Robb Nebbe
1995-03-17 17:08 ` Norman H. Cohen
1995-03-20  3:23   ` S. Tucker Taft
1995-03-20 10:13   ` Robb Nebbe
1995-03-21 21:05     ` Robert Dewar
1995-03-20 16:15   ` Robert I. Eachus
1995-03-21 19:47     ` Norman H. Cohen
1995-03-22  1:28       ` David Weller
1995-03-23  5:47       ` Robert Dewar
1995-03-23 16:38         ` Robert I. Eachus
1995-03-24 10:46           ` Peter Hermann
1995-03-24 16:52             ` David Weller
1995-03-26  4:03               ` Robert Dewar
1995-03-24 21:33             ` Tucker Taft
1995-03-27  9:59             ` Child packages Robb Nebbe
1995-03-28  1:11               ` Keith Thompson
1995-03-28 11:54                 ` Keith Thompson
1995-03-27 18:58             ` An observation of Ada (may offend) Mark A Biggar
1995-03-24 19:45           ` Garlington KE
1995-03-27 19:58             ` Robert I. Eachus
1995-03-28 16:29               ` Garlington KE
1995-03-28 19:30                 ` Robert I. Eachus
1995-03-28 22:37                   ` Garlington KE
1995-03-29  8:31                   ` Robb Nebbe
1995-03-25 17:58           ` Robert Dewar
1995-03-26  6:20             ` R_Tim_Coslet
1995-03-27 20:38               ` Robert I. Eachus
1995-03-26  3:50           ` celier
     [not found]           ` <3l1lkq$pm6@gnat.csn <3l2o9a$3a1@infomatch.com>
1995-03-27 23:16             ` Robert Dewar
1995-03-23 18:05       ` John DiCamillo
1995-03-17 23:01 ` Larry Kilgallen, LJK Software
1995-03-18 12:41 ` Tucker Taft
1995-03-22 16:50 ` Renaud HEBERT
1995-03-23 23:23   ` John Volan
1995-03-24  0:38   ` Robert Dewar
  -- strict thread matches above, loose matches on Subject: below --
1994-10-04  8:41 Is Ada the future? [was: Is C++ the future?] Robb Nebbe
1994-10-13 22:01 ` Val Kartchner
1994-10-17 11:52   ` Child packages [nn,pedo,incest,cons] Robert I. Eachus
1994-10-18 10:30     ` Child packages Robb Nebbe
1994-10-18  9:37       ` Robert I. Eachus
1994-10-18 19:09         ` Robert Dewar
1994-10-19 11:03           ` Robert I. Eachus
1994-10-19 16:24             ` Norman H. Cohen
1994-10-19 23:13               ` Robert Dewar
1994-10-20 14:06                 ` Norman H. Cohen
1994-10-20 11:09                   ` Robert I. Eachus
1994-10-20 19:02                     ` Benjamin Ketcham
1994-10-20 17:08                       ` Robert I. Eachus
1994-10-20 16:37                   ` Bob Duff
1994-10-20 16:40                     ` Bob Duff
1994-10-21 14:02                     ` Mark Biggar, 5172
1994-10-21  8:48                   ` Robb Nebbe
1994-10-19 18:54             ` Robert Dewar
1994-10-20  0:27             ` Matt Kennel
1994-10-20  8:21               ` Magnus Kempe
1994-10-20 13:52               ` John Volan
1994-10-19 16:19           ` Norman H. Cohen

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