comp.lang.ada
 help / color / mirror / Atom feed
From: "Peter C. Chapin" <pcc482719@gmail.com>
Subject: Re: Advice on selling Ada to a C shop
Date: Wed, 23 Jun 2010 15:57:31 -0400
Date: 2010-06-23T15:57:31-04:00	[thread overview]
Message-ID: <4c22669b$0$3623$4d3efbfe@news.sover.net> (raw)
In-Reply-To: hvtc8u$rpp$1@speranza.aioe.org

anon@anon.org wrote:

> These two packages and their sub-packages should of been introduced 
> to Ada's RM a back in 2000 or earlier but the powers that be 
> preferred unions and "oops" and now conditional structures instead.  
> None of which truly aid Ada.  These ideas are slowly causes the 
> death of Ada because without graphics and windows routine Ada is 
> limited in it scope of partitions that people want.

My understanding is that Ada is primarily a "systems" programming language. It
supports embedded programming, real time programming, and other "low level"
applications. People writing such programs are not particularly concerned
about GUI packages. Well... I can't speak for everyone, but I'm using Ada in
an embedded application and I'm certainly not worried about the lack of GUI
support.

Of course some people do want GUI support and, in fact, there are Ada
libraries that do that now. If you feel they are inadequate, you could
perhaps create something better. The question isn't about the value of GUI
packages (I'm sure we all agree such packages have value) but rather the
value of putting such support into the language standard.

> Now, with the release of GNAT 2009, Adacore started including 
> "Conditional Structures".
> 
> In GNAT 2009, the "If" conditional structure was added.
> 
>    <Variable> := (if ...  then ... else ... );
> 
> Not sure if you can use add the "elsif .... then"  clause.
> 
> This is too close to C like structures for any Ada purist to approve of.

I wasn't involved in the discussion that lead to the decision to include
conditional expressions in Ada, but my impression is that they were
introduced in large measure to make the new pre- and post-conditions more
expressive. When writing a post-condition on a subprogram you only get a
single expression... not a statement (please correct me if I'm wrong). Thus
if you want to write something complicated conditional expressions and case
expressions become useful. Once you've added such expressions to the language
there is little point is prohibiting them from "normal" code sequences.

In any case conditional expressions are entirely normal in functional
languages and widely implemented by such languages. They are not some sort of
C quirk as you seem to suggest. I'm not suggesting that Ada should become a
functional language (lambdas, anyone?) but to a person fluent with functional
programming such expressions are very natural.

Peter




  parent reply	other threads:[~2010-06-23 19:57 UTC|newest]

Thread overview: 79+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-19 23:01 Advice on selling Ada to a C shop usenet
2010-06-20  6:17 ` Jeffrey R. Carter
2010-06-20  6:24 ` Jeffrey R. Carter
2010-06-21 14:07   ` Warren
2010-06-20  7:00 ` J-P. Rosen
2010-06-20  7:40   ` Nasser M. Abbasi
2010-06-20 12:46     ` Peter C. Chapin
2010-06-21 14:23       ` Warren
2010-06-25 17:34         ` Marco
2010-06-28 13:22           ` Warren
2010-06-29  8:42             ` Stephen Leake
2010-07-01 21:09               ` Per Sandberg
2010-08-21  3:53               ` Yannick Duchêne (Hibou57)
2010-08-21  9:22                 ` Ludovic Brenta
2010-08-21 10:10                   ` Simon Wright
2010-08-22  0:16                   ` Brian Drummond
2010-06-20  9:34 ` Ludovic Brenta
2010-06-20 12:35   ` Peter C. Chapin
2010-06-20 17:44   ` Fritz Wuehler
2010-06-20 18:06     ` Ludovic Brenta
2010-06-20 21:13       ` Georg Bauhaus
2010-06-21  0:29         ` Ludovic Brenta
2010-06-21  1:14           ` Nasser M. Abbasi
2010-06-21  8:10             ` Georg Bauhaus
2010-06-24  0:04             ` BrianG
2010-06-28 13:37               ` Warren
2010-06-21  8:14           ` Georg Bauhaus
2010-06-21  9:22           ` George Orwell
2010-06-21 13:59             ` Ludovic Brenta
2010-08-21  4:28               ` Yannick Duchêne (Hibou57)
2010-08-21  9:21                 ` Ludovic Brenta
2010-08-21 11:06                 ` Brian Drummond
2010-06-21 14:40             ` Warren
2010-06-21 17:38               ` Jeffrey R. Carter
2010-06-21 20:04                 ` Warren
2010-06-21 19:47               ` starwars
2010-06-21 20:07                 ` Warren
2010-06-21 14:33           ` Warren
2010-06-21 14:29       ` Warren
2010-06-22  5:01         ` Fritz Wuehler
2010-08-21  4:11     ` Yannick Duchêne (Hibou57)
2010-08-21  9:01       ` Pascal Obry
2010-08-21  9:24       ` Ludovic Brenta
2010-06-21  8:29 ` Maciej Sobczak
2010-06-21  9:58   ` Ludovic Brenta
2010-06-23 15:36   ` Brian Drummond
2010-06-21 13:43 ` Warren
2010-06-22 15:00 ` Lucretia
2010-06-22 18:01   ` anon
2010-06-22 19:06     ` Nasser M. Abbasi
2010-06-23 16:20       ` anon
2010-06-23 18:19         ` (see below)
2010-06-23 22:28           ` Brian Drummond
2010-06-23 19:57         ` Peter C. Chapin [this message]
2010-06-23 20:50           ` Adam Beneschan
2010-06-23 21:24             ` Robert A Duff
2010-06-29 20:30             ` Randy Brukardt
2010-06-29 20:35               ` Adam Beneschan
     [not found]               ` <pcadnQUIZdtJeLfRnZ2dnUVZ_oWdnZ2d@earthlink.com>
2010-07-01 11:32                 ` Stephen Leake
2010-06-23 21:33           ` Robert A Duff
2010-06-24 17:25             ` anon
2010-06-24 22:18               ` Adam Beneschan
2010-06-24  7:48           ` Maciej Sobczak
2010-06-24 17:24             ` anon
2010-06-24 19:34               ` Maciej Sobczak
     [not found]     ` <CbSdncnFfaC6A7zRnZ2dnUVZ_oYAAAAA@earthlink.com>
2010-07-06  5:37       ` David Thompson
2010-07-06 11:14         ` anon
2010-07-09 13:21           ` Marco
2010-07-09 13:45             ` Dmitry A. Kazakov
2010-07-09 14:12               ` Georg Bauhaus
2010-07-09 15:08                 ` Dmitry A. Kazakov
2010-06-22 18:06 ` Phil Clayton
2010-06-22 20:25   ` Gautier write-only
2010-06-22 21:00 ` Gautier write-only
2010-06-23  7:17   ` Maciej Sobczak
2010-06-23  7:40     ` Gautier write-only
2010-06-23 11:17       ` Georg Bauhaus
2010-06-23 18:38         ` Jeffrey R. Carter
2010-06-23  8:08     ` Gautier write-only
replies disabled

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