comp.lang.ada
 help / color / mirror / Atom feed
From: Kilgallen@eisner.decus.org.nospam (Larry Kilgallen)
Subject: Re: Ada Idioms Progress Preview
Date: 10 Aug 2001 16:51:35 -0500
Date: 2001-08-10T16:51:35-05:00	[thread overview]
Message-ID: <jc8NR9ynpNEv@eisner.encompasserve.org> (raw)
In-Reply-To: 3_Xc7.45$NM5.84779@news.pacbell.net

In article <3_Xc7.45$NM5.84779@news.pacbell.net>, "Jay Nabonne" <jay@rightagain.com> writes:

> As a C/C++ programmer who is looking with interest at Ada (after a rather
> entertaining discussion about Code Red in comp.lang.c++), what would be most
> useful for me - and it's what I thought of when I saw the word idiom - is
> something that says "in order to do <blah>, given that there's more than one
> way to do it within the Ada language, here's how you write code that looks
> like an Ada programmer wrote it and doesn't look like a
> C++-programmer-writing-Ada wrote it.".
> 
> I'm interested in how to "think in Ada"...

The criterion for success is that someone reading your code cannot tell
whether your background is C or Fortran.  (Or anything else, but the
original statement, so far as I can tell, is "It is possible to write
Fortran in any language".)

WWW.AdaPower.com should have an item on "Ada for C programmers" that
gives some ideas of the ways "not" to do it.  Perhaps one technique
for those whose background is Csomething is to think very hard in
an Ada program before taking the address of something.  Generally
it is not necessary, but there is a tendency to do it if C is on
your mind.  Another trick might be not to assume you can guess what
the machine code is going to look like.  Passing a record as a
parameter is _not_ less efficient than passing a pointer, since
what Ada does under the covers is typically a pointer.

Of course things that don't involve instruction-level efficiencies
are no different -- if you read every block on the disk it will still
take a while, so higher level program efficiency rules still count.



  reply	other threads:[~2001-08-10 21:51 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-08-03  4:16 Ada Idioms Progress Preview James Rogers
2001-08-03 19:45 ` Robert Dewar
2001-08-03 22:02   ` James Rogers
2001-08-06 22:33   ` Stanley R. Allen
2001-08-07  2:45     ` tmoran
2001-08-07 12:15       ` Larry Kilgallen
2001-08-07 13:26         ` Philip Anderson
2001-08-08  2:23         ` Robert Dewar
2001-08-08  5:58           ` Ehud Lamm
2001-08-08  2:19       ` Robert Dewar
2001-08-08 15:13         ` Ted Dennison
2001-08-08 18:03           ` tmoran
2001-08-09 20:36           ` Florian Weimer
2001-08-10 21:02         ` Jay Nabonne
2001-08-10 21:51           ` Larry Kilgallen [this message]
2001-08-13 14:19             ` Ted Dennison
2001-08-13 14:05           ` Ted Dennison
2001-08-13 14:19             ` Marin David Condic
2001-08-13 15:47             ` Ole-Hjalmar Kristensen
2001-08-13 16:22               ` Marin David Condic
2001-08-13 18:48               ` Larry Kilgallen
2001-08-14  7:05                 ` Ole-Hjalmar Kristensen
2001-08-13 20:20               ` James Rogers
2001-08-14  1:09                 ` Warren W. Gay VE3WWG
2001-08-14  6:15                   ` James Rogers
2001-08-14 14:03                     ` Warren W. Gay VE3WWG
2001-08-21  5:54                   ` C strings, was " David Thompson
2001-08-16 18:42                 ` Jay Nabonne
2001-08-17  1:25                   ` Robert Dewar
2001-08-13 21:47               ` Ted Dennison
2001-08-14  7:37                 ` Ole-Hjalmar Kristensen
2001-08-14 14:59                   ` Ted Dennison
2001-08-14 13:22                 ` Marin David Condic
2001-08-14 15:12                   ` Ted Dennison
2001-08-14 15:33                     ` Marin David Condic
2001-08-14  8:49               ` Lutz Donnerhacke
2001-08-14  9:38                 ` Ole-Hjalmar Kristensen
2001-08-14  9:54                   ` Lutz Donnerhacke
2001-08-14 14:51                     ` James Rogers
2001-08-14 16:44                   ` Darren New
2001-08-14  1:39             ` Slicing ( Ada Idioms Progress Preview ) Warren W. Gay VE3WWG
replies disabled

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