comp.lang.ada
 help / color / mirror / Atom feed
From: David Thompson <dave.thompson2@verizon.net>
Subject: Re: Advice on selling Ada to a C shop
Date: Tue, 06 Jul 2010 01:37:29 -0400
Date: 2010-07-06T01:37:29-04:00	[thread overview]
Message-ID: <avd536h33st9rfce1ld2b4nidcsmeaggv8@4ax.com> (raw)
In-Reply-To: CbSdncnFfaC6A7zRnZ2dnUVZ_oYAAAAA@earthlink.com

On Tue, 22 Jun 2010 22:39:51 -0700, Dennis Lee Bieber
<wlfraed@ix.netcom.com> wrote:

> On Tue, 22 Jun 2010 18:01:50 +0000 (UTC), anon@anon.org declaimed the
> following in comp.lang.ada:
> 
> > A second problem is until Ada 2012, C is the only common used language 
> > that allows functions to have "in out" type of parameters. If functions 
> > having the "in out" parameters, was a good idea, you would think then 
> > other older languages like Fortran, Pascal would have them.  Or even 
> 
> 	Uhm... The last time I worked FORTRAN (about a decade ago),
> functions COULD have side-effects. After all, the normal passing method
> in FORTRAN is by-reference, and I never encountered a compiler that
> would enforce read-only access to arguments inside a function. Now,
> maybe post '90/'95 standard have implemented such -- but I'd bet most
> shops are still running a compatibility option for older code...

Indeed. Classic Fortran did, and F90+ still does by default (i.e.
INTENT unspecified) or if you specify INTENT OUTor INOUT.
Only if you explicitly make a subprogram PURE or ELEMENTAL then a
function, but not a subroutine, is prohibited from having modifiable
arguments. (Both a function and subroutine are prohibited from other
'global' side-effects, i.e. on module~package data or external files.)

So did Pascal if you specify VAR, a68 with ref, and COBOL and PL/I
always. anon may argue that some of those are not now 'common[ly]
used', but Java certainly is and makes all nonprimitive arguments
writable references; there's not even a syntax to make a reference
readonly -- although you can write a target object, or a wrapper or
adapter etc., to be readonly (always or controllably) and some
important standard objects like java.lang.String are immutable.

And C++ of course, but that's arguably covered under C. It does have
added syntax for references (and OO 'this') but same semantics.




  parent reply	other threads:[~2010-07-06  5:37 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
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 [this message]
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