comp.lang.ada
 help / color / mirror / Atom feed
From: "Jeffrey R. Carter" <spam.jrcarter.not@acm.nospam.org>
Subject: Re: The future of Ada is at risk
Date: Fri, 11 Jan 2008 18:20:23 GMT
Date: 2008-01-11T18:20:23+00:00	[thread overview]
Message-ID: <HrOhj.295370$Fc.152545@attbi_s21> (raw)
In-Reply-To: <13oe680qard6u2d@corp.supernews.com>

Phaedrus wrote:
> Okay, I guess we all agree, Ada is a heck of a language and we all love it. 
> (Or else why would we be here?)  But the implied question that started this 
> thread was, well, what's WRONG with the ol' gal?  Instead of making this an 
> Ada-love-fest, how about doing some honest soul-searching about what's 
> missing, wrong, or just too hard for the programming world in general?   The 
> current lack of a DOD mandate isn't the reason for Ada's diminishing market 
> share, the market share is the result of a real or imagined problem with the 
> language, environment or something else.  So I'd like to propose that we put 
> all of your Mensa-caliber gray matter to work and determine what's wrong or 
> lacking.

Ada is a SW-engineering language. It enforces SW-engineering principles. 98% of 
developers are coders, not SW engineers. It should not be a surprise that they 
don't choose a SW-engineering language.

We don't let construction workers design bridges or choose the materials for 
them, but we regularly let the construction workers design and choose the 
materials for significant SW projects. This is probably because there is 
significant liability for incompetent civil engineers, and none for incompetent 
SW engineers.

> 1.  It's relatively intimidating to learn.
> 
>    Not that it needs to be, but between a needlessly complicated LRM and 
> academia-bound (-and-hopefully-gagged) textbooks, a neophyte shouldn't dive 
> in without a full scuba set.  It gets deep, fast.  And if you didn't get on 
> the Ada-train in the mid 80's, then the learning curve is STEEP.  Nice folks 
> like Dean Gonzales did their best to create annotated LRM's in the 80's, 
> should that effort get going again?

A controlled study by the US Military Academy found Ada to be a better 1st 
language than Pascal, which was designed as a teaching language.

> 2.  More emphasis on cleverness than usefulness on rugged, reusable code.
> 
>    Have you noticed how many folks would rather use a bunch of tasks, or do 
> umpteen levels of inheritance, when something simple would work just fine? 
> These ivory-tower things are real nice, but isn't it more important that it 
> be able to be reused in LESS time than it took to write the darn thing?  Has 
> the KISS rule been forgotten?  Honest, it's okay that package Hammer isn't 
> completely safe for objects of type Toe, if you document it.  And don't even 
> get me started on people who make their own types (AKA "Bobs_Integer") when 
> the predefined type would work just fine.

SW engineers can create useful abstractions, making things simpler. Coders 
can't, and tend to create designs that make things more complex than they need 
to be.

And don't get me started on people who use Integer when an application-specific 
type would be a much better choice.

> It really is quicker and easier to create small C apps for Windows (The 
> prevalent environment) than Ada.  Why?  What's are your favorite gripes? 
> What could be made easier?  Since a lot of large projects start life as 
> little projects and little demos,  if we make it easier to make little 
> projects then maybe the big projects will come our way.

My experience is that it's easier to get something running in C than in Ada. 
Getting something that seems to be correct tends to take longer in C than in 
Ada, and getting something where I'm confident that it's correct takes even longer.

Ada sometimes seems to avoid taking advantage of its opportunities. Ada 95, with 
tasking improvements, came out just before Windows 95, the 1st widely used OS 
with multitasking support. I suggested that we promote Ada 95 as the language of 
choice for Windows 95, but that didn't happen. Now multiprocessors are becoming 
common, and a language with good, high-level support for parallelism should be 
the language of choice for such systems. Maybe we can take advantage of this 
opportunity.

A standard, portable, Ada-oriented, easy to use for most basic tasks, non-GPL 
GUI library would go a long way to making Ada more attractive. One of Java's big 
attractions was its portable GUI library. It wasn't perfect, but that wasn't a 
concern for most users.

-- 
Jeff Carter
"Propose to an Englishman any principle, or any instrument, however
admirable, and you will observe that the whole effort of the English
mind is directed to find a difficulty, a defect, or an impossibility
in it. If you speak to him of a machine for peeling a potato, he will
pronounce it impossible: if you peel a potato with it before his eyes,
he will declare it useless, because it will not slice a pineapple."
Charles Babbage
92



  parent reply	other threads:[~2008-01-11 18:20 UTC|newest]

Thread overview: 126+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-29  3:06 The future of Ada is at risk Rico Secada
2007-12-29 10:19 ` Pascal Obry
2007-12-29 19:24   ` Jerry van Dijk
2007-12-29 11:14 ` Dmitry A. Kazakov
2007-12-29 11:21 ` Georg Bauhaus
2007-12-30 12:30   ` Florian Weimer
2007-12-30 19:42     ` okellogg
2007-12-30 20:22       ` Florian Weimer
2007-12-31  0:21         ` Samuel Tardieu
2007-12-30 23:30       ` Simon Wright
2007-12-31  8:12     ` I. Levashew
2007-12-31  8:43       ` Florian Weimer
2007-12-31 10:16       ` Rico Secada
2007-12-31 10:31         ` Florian Weimer
2007-12-31 15:20         ` Georg Bauhaus
2007-12-31 21:35           ` Paul
2008-01-01 12:41           ` Florian Weimer
2007-12-29 16:19 ` I. Levashew
2007-12-29 16:24 ` anon
2007-12-29 19:16   ` Rico Secada
2007-12-30  0:38     ` The future of C# " Georg Bauhaus
2008-01-07  8:01   ` The future of Ada " Nasser Abbasi
2008-01-07 11:09     ` Robert A Duff
2008-01-07 11:54       ` Nasser Abbasi
2007-12-30  8:04 ` Phaedrus
2007-12-30  8:56   ` Pascal Obry
2007-12-30 21:42     ` Phaedrus
2007-12-30 23:08       ` Brian May
2007-12-30 23:32         ` Phaedrus
2007-12-31 12:33       ` I. Levashew
2008-01-02 10:46         ` Colin Paul Gloster
2007-12-30 11:08   ` Georg Bauhaus
2007-12-30 22:23     ` Phaedrus
2007-12-30 21:30   ` adaworks
2007-12-30 23:33     ` Phaedrus
2007-12-31  0:33   ` Samuel Tardieu
2008-01-01 14:14 ` Gautier
2008-01-01 14:46   ` Dmitry A. Kazakov
2008-01-04  8:45 ` Agyaras
2008-01-04  9:36   ` Pascal Obry
2008-01-04 13:13   ` Georg Bauhaus
2008-01-06  9:34     ` Agyaras
2008-01-06 10:26       ` Dmitry A. Kazakov
2008-01-06 12:03       ` Georg Bauhaus
2008-01-06 13:03       ` Frank J. Lhota
2008-01-07  3:46       ` Brian May
2008-01-08  2:22       ` Randy Brukardt
2008-01-04 23:17   ` Brian May
2008-01-05 10:22   ` Ludovic Brenta
2008-01-05 15:16     ` Robert A Duff
2008-01-05 15:36       ` Dmitry A. Kazakov
2008-01-05 15:46         ` Robert A Duff
2008-01-05 16:39           ` Georg Bauhaus
2008-01-05 17:14           ` Dmitry A. Kazakov
2008-01-06 22:08             ` Robert A Duff
2008-01-09  8:19   ` ahab
2008-01-05 10:21 ` Michael Bode
2008-01-05 10:30   ` Ludovic Brenta
2008-01-05 10:55     ` Michael Bode
2008-01-05 13:09       ` Ludovic Brenta
2008-01-05 13:32         ` Michael Bode
2008-01-05 20:36           ` Jeffrey R. Carter
2008-01-05 22:50             ` Michael Bode
2008-01-05 23:42               ` Jeffrey R. Carter
2008-01-05 11:11     ` Georg Bauhaus
2008-01-05 11:40       ` Dmitry A. Kazakov
2008-01-05 13:29         ` Georg Bauhaus
2008-01-05 14:35           ` Dmitry A. Kazakov
2008-01-05 17:42             ` Georg Bauhaus
2008-01-05 18:40               ` Dmitry A. Kazakov
2008-01-05 23:47             ` Brian May
2008-01-06  7:03               ` Vadim Godunko
2008-01-06  8:42               ` Dmitry A. Kazakov
2008-01-06 12:05                 ` Georg Bauhaus
2008-01-06 12:23                   ` Dmitry A. Kazakov
2008-01-06 20:13                     ` Georg Bauhaus
2008-01-06 20:50                       ` Dmitry A. Kazakov
2008-01-06 22:12                         ` Georg Bauhaus
2008-01-07  0:11                 ` Brian May
2008-01-07  5:23                   ` Per Sandberg
2008-01-08  0:04                     ` Brian May
2008-01-08  6:53                       ` Simon Wright
2008-01-08 14:35                         ` Vadim Godunko
2008-01-08 20:24                   ` Graham
2008-01-08 20:44                   ` Pascal Obry
2008-01-06  9:23               ` Pascal Obry
2008-01-07  0:05                 ` Brian May
2008-01-05 20:34   ` Jeffrey R. Carter
2008-01-05 20:52     ` Michael Bode
2008-01-05 21:40       ` Georg Bauhaus
2008-01-05 23:45       ` Jeffrey R. Carter
2008-01-06 11:16         ` Michael Bode
2008-01-06 19:20           ` Jeffrey R. Carter
2008-01-06 20:27             ` Michael Bode
2008-01-07 10:23   ` Stephen Leake
2008-01-07 17:54     ` Michael Bode
2008-01-11  7:21 ` Phaedrus
2008-01-11  8:49   ` Maciej Sobczak
2008-01-11 13:10     ` Peter C. Chapin
2008-01-11 15:41     ` Hyman Rosen
2008-01-12 14:31       ` Surfer
2008-01-12 20:54         ` Gautier
2008-01-11 19:58     ` Tero Koskinen
2008-01-11 21:41       ` Georg Bauhaus
2008-01-11 13:02   ` framefritti
2008-01-11 15:29     ` Peter C. Chapin
2008-01-11 17:24       ` Gary Scott
2008-01-11 18:20   ` Jeffrey R. Carter [this message]
2008-01-11 18:51     ` Gary Scott
2008-01-12  0:21       ` Jeffrey R. Carter
2008-01-12  8:15         ` Pascal Obry
2008-01-12 10:11           ` Brian May
2008-01-12 10:24             ` Pascal Obry
2008-01-12 17:43               ` Gary Scott
2008-01-12 18:14                 ` Pascal Obry
2008-01-12 22:24                   ` Georg Bauhaus
2008-01-13  3:54                     ` Ray Blaak
2008-01-13 14:05                       ` (see below)
2008-01-14  1:46                         ` Ray Blaak
2008-01-14  1:49                         ` Ray Blaak
2008-01-23  2:52                 ` adaworks
2008-01-12 10:47             ` Dmitry A. Kazakov
2008-01-11 22:32   ` Robert A Duff
2008-01-12  4:06     ` Phaedrus
2008-01-12 15:29       ` Georg Bauhaus
2008-01-12 20:55     ` jtg
replies disabled

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