comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de>
Subject: Re: Ada Pointer Problem
Date: Wed, 6 Oct 2004 19:29:40 +0000 (UTC)
Date: 2004-10-06T19:29:40+00:00	[thread overview]
Message-ID: <ck1h34$cji$1@a1-hrz.uni-duisburg.de> (raw)
In-Reply-To: 35f054ea.0410060743.7b73aac3@posting.google.com

skidmarks <aschwarz@acm.org> wrote:
: 
: And yes, I am frustrated.
: 
: A little anecdote. I've followed Ada since it's pre-inception in the
: mid-70's, and still have the original SigPlan Green Book. I liked the
: idea of Ada and the language of Ada, until 1988. In 1988 I had a
: little design problem that I wanted to solve with a pointer. I looked,
: and looked, and looked all over the LRM and Ada as a Second Language
: (by Cohen) for a pointer. After four hours I found 'Access Type'. It
: took four hours to solve a four minute problem. I think because of Ada
: snobishnes (we can do better than you can and can do it without using
: your keywords or terminology).

So maybe there is an opportunity to improve the exposition of
Ada language constructs for programmers expecting wide spread
terminology.
Even if there is good reason to make the distinction
between the _various_ pointer like things and addresses in Ada
explicit.
OTOH, almost every introductory chapter, starting from the beginning,
mentions access values.
Ada as a Second Language has a whole chapter describing access
types. They are also mentioned in the introductory chapter, IIRC.
Does Ada assume programmers that have had an opportunity to
become familiar with their tool?

In order to find "pointer" in the ARM (Ada 95, admittedly)
I pressed the search key twice for "pointer" and found:

 18. (77) Access values are called "pointers" or "references" in some
     other languages.


I'd have a similar problem problem with

template<> class Something<T>

when accompanied by mystic talk about template specializations
and pointers and saving instances.
Just trying to find "generics" the standard or TC++PL won't be helpful
I think.  OTOH, there are C++ rules that help understanding this line.
Stroustrup explains in Ch 13; it does take time though to read this.
I wouldn't know how to quickly solve a "template problem"
without studying this chapter or something equivalent.
(Well, a solution might be found by accident.) Can you blame
a language for having an impressive set of rules, and its own
terms?

Likewise, how would a Scheme programmer, never having seen
CommonLISP, know that you cannot have a function valued thing at place
one in a list? Instead you have to use FUNCALL. Newsgroups
are a Good Thing then, because this is where you can ask
if you are stuck between hundred of pages of formal writing :-)

: I think that I'm better than fair in Ada. I also think that I'm
: wasting time on this language. It takes too long to do simple things,
: and is a research effort to do the possible but not pedestrian.

Could you give some examples?
 

-- Georg



  parent reply	other threads:[~2004-10-06 19:29 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-01 19:34 Ada Pointer Problem aschwarz1309
2004-10-02  0:47 ` Jeffrey Carter
2004-10-02 23:37   ` Randy Brukardt
2004-10-06 15:43     ` skidmarks
2004-10-06 18:19       ` Jeffrey Carter
2004-10-16  3:53         ` Benjamin Ketcham
2004-10-16 13:25           ` John B. Matthews
2004-10-18 18:09           ` Georg Bauhaus
2004-10-06 19:29       ` Georg Bauhaus [this message]
2004-10-07 18:45         ` skidmarks
2004-10-08  0:35           ` Jeffrey Carter
2004-10-08 12:02           ` Jean-Pierre Rosen
2004-10-08 16:58             ` Ludovic Brenta
2004-10-08 23:26             ` Björn Persson
2004-10-10 18:01             ` skidmarks
2004-10-08 14:03           ` Georg Bauhaus
2004-10-08 14:23           ` Dale Stanbrough
  -- strict thread matches above, loose matches on Subject: below --
2004-10-01 15:26 skidmarks
2004-10-01 15:50 ` David C. Hoos
2004-10-01 18:15   ` Jeffrey Carter
2004-10-01 17:24 ` Ludovic Brenta
replies disabled

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