comp.lang.ada
 help / color / mirror / Atom feed
From: AdaMagica <christ-usch.grein@t-online.de>
Subject: Re: Ada 2012: In-out parameters for functions
Date: Fri, 3 May 2013 04:45:05 -0700 (PDT)
Date: 2013-05-03T04:45:05-07:00	[thread overview]
Message-ID: <7446fa12-42ce-4716-b0ef-e7eab9005fdb@googlegroups.com> (raw)
In-Reply-To: <UYadnS4eOq5gCB7MnZ2dnUVZ_jqdnZ2d@supernews.com>

Again some misinformation from anon.

On Friday, May 3, 2013 12:48:29 PM UTC+2, anon wrote:
> For Ada 83 functions the DOD required a language that contains a 
> true function and not the C like function. But since 1998 when the 
> DOD drop the Ada requirement, the Ada maintainers were allowed to 
> alter the definition of a function.

http://archive.adaic.com/docs/reports/steelman/steelman.htm#7
There is no such requirement in Steelman.

Ada functions have always had parameters of access types, which allow a kind of out-parameters.
They also have been able to modify global parameters, a hidden form of out-parameters.
Thus they always have been able to have side effects, albeit were not allowed to say so.

> Since then one or more of Ada maintainers have decided to add number 
> of "C" like syntax and/or coding to Ada. An example is the "conditional 
> statements" another is the the "C" function/procedure call with both 
> having in out parameters.  A number of old "C" compilers ( 1980..1990s 
> from Microsoft and IBM ) allowed the "in out" parameters for C 
> functions.
>
> Another change is the "Copy by Reference" has been replaced by 
> "Copy by Type".  This change alone defeats the purpose of the 
> "limited private" used in Generics compilation units aka external 
> re-usable libraries which forces existing libraries to be 
> re-written. So, many companies that used Generic libraries are 
> now leaving Ada for a language that does not alter a major language 
> feature after 25 plus years of the language existence.

I guess return-by-reference vs. build-in-place is meant here.
That was a change from Ada 95 to Ada 2005.
ARG felt that return-by-reference was a big mistake, so they corrected it.
Ada83 functions returning tasks were a big problem.

> Also, Robert Dewar the CEO at Adacore and the main maintainer at the
> movement for Ada stated that they would modify Ada to help increase
> the number of Ada programmers.  Robert Dewar as CEO has to look at 
> Adacore profits and not just designs a better language which means 
> that Ada may suffer due to Adacore's profitability.  But what most 
> programmers want is the best language with the best features that 
> are not features that can lead to erroneous error in coding or 
> execution.

No comment on AdaCore bashing...

> And both functions with "in out" parameters and "conditional 
> statements" can cause erroneous coding which leads to erroneous 
> executions. And for that reason these features should have never 
> been added to Ada.
>
> This means Ada has stated going down the path of previous languages 
> like PL/1, C, Lisp and even Java. So, programmers are looking for 
> the next language that maintainers will not just adopt the bad designs 
> from previous language maintainers.

You may like or dislike these features, but they do not introduce side effects into functions, they only make the previous hidden ways obvious.



  parent reply	other threads:[~2013-05-03 11:45 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-01 16:28 Ada 2012: In-out parameters for functions dptrash
2013-05-01 17:27 ` Shark8
2013-05-01 19:04 ` Yannick Duchêne (Hibou57)
2013-05-01 19:37   ` Dmitry A. Kazakov
2013-05-01 19:58     ` Yannick Duchêne (Hibou57)
2013-05-02  6:41       ` Dmitry A. Kazakov
2013-05-02  7:11         ` Yannick Duchêne (Hibou57)
2013-05-01 23:37 ` Peter C. Chapin
2013-05-03 10:48 ` anon
2013-05-03 11:04   ` Simon Clubley
2013-05-03 11:32   ` Simon Wright
2013-05-03 11:42   ` Yannick Duchêne (Hibou57)
2013-05-03 11:54     ` Yannick Duchêne (Hibou57)
2013-05-03 23:29       ` Randy Brukardt
2013-05-04  1:02         ` Adam Beneschan
2013-05-05  5:16           ` Randy Brukardt
2013-05-05 10:24         ` Niklas Holsti
2013-05-05 11:11           ` Yannick Duchêne (Hibou57)
2013-05-05 12:52             ` Bill Findlay
2013-05-05 15:09               ` Niklas Holsti
2013-05-05 19:23                 ` Yannick Duchêne (Hibou57)
2013-05-05 20:37                   ` Niklas Holsti
2013-05-07  0:30                 ` Randy Brukardt
2013-05-07  2:36                   ` Yannick Duchêne (Hibou57)
2013-05-05 19:45               ` Yannick Duchêne (Hibou57)
2013-05-06 15:40               ` Adam Beneschan
2013-05-06 16:17                 ` Bill Findlay
2013-05-06 16:47                   ` Adam Beneschan
2013-05-06 18:43                     ` Bill Findlay
2013-05-07  0:07                     ` Dennis Lee Bieber
2013-05-07  2:34                       ` Yannick Duchêne (Hibou57)
2013-05-07  0:26             ` Randy Brukardt
2013-05-06 15:26           ` Adam Beneschan
2013-05-07  0:36             ` Randy Brukardt
2013-05-07  3:59           ` Yannick Duchêne (Hibou57)
2013-05-07  4:13             ` Yannick Duchêne (Hibou57)
2013-05-07 11:52             ` Yannick Duchêne (Hibou57)
2013-05-03 11:45   ` AdaMagica [this message]
2013-05-03 23:54     ` Randy Brukardt
2013-05-04  6:58       ` J-P. Rosen
2013-05-04  7:21         ` Dmitry A. Kazakov
2013-05-04 17:58           ` J-P. Rosen
2013-05-04  7:40         ` Yannick Duchêne (Hibou57)
2013-05-04  8:05           ` Simon Wright
2013-05-04 17:55           ` J-P. Rosen
2013-05-04  0:40   ` Keith Thompson
replies disabled

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