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.
next prev 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