comp.lang.ada
 help / color / mirror / Atom feed
From: Ted Dennison<dennison@telepath.com>
Subject: Re: Ada Idioms Progress Preview
Date: Mon, 13 Aug 2001 14:05:24 GMT
Date: 2001-08-13T14:05:24+00:00	[thread overview]
Message-ID: <E8Rd7.282$D4.307@www.newsranger.com> (raw)
In-Reply-To: 3_Xc7.45$NM5.84779@news.pacbell.net

In article <3_Xc7.45$NM5.84779@news.pacbell.net>, Jay Nabonne says...
>
>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 best advice I can give you today is to go to the Ada Source Code Treasury at
http://www.adapower.com/adacode.html . The master site itself is useful too.

Based on my experience with native C speakers, here are some basic things to get
you started:

o  Strings in Ada are *very* different from Strings in C. Ada strings end at the
end of the array (or slice of it you specify), not at some arbitrarily-chosen
"terminator" character. Look into the "&" operator for arrays, and the array
attributes 'length, 'first, and 'last. 'image is damn nice too. Don't be
discouraged if you have trouble with this seemingly simple thing. Conceptually,
this is probably the biggest difference the languages have.

o  The techniques you learn for dealing with strings can be used for *all*
arrays.

o  Make yourself familiar with the language defined attributes (
http://www.ada-auth.org/~acats/arm-html/RM-K.html ).

o  Passing a large data structure as a parameter does *not* mean that the whole
thing gets copied. The compiler will internally pass a reference to the
structure if that would be more efficient. Do *not* use pointers yourself to
force this effect.

o  You almost never need pointers.

o  If you think you need a pointer, see the previous point. :-)

---
T.E.D.    homepage   - http://www.telepath.com/dennison/Ted/TED.html
          home email - mailto:dennison@telepath.com



  parent reply	other threads:[~2001-08-13 14:05 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
2001-08-13 14:19             ` Ted Dennison
2001-08-13 14:05           ` Ted Dennison [this message]
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