comp.lang.ada
 help / color / mirror / Atom feed
* Why is Ada NOT a good choice for a beginner to programming?
@ 2002-12-21  3:30 David Wright
  2002-12-21  5:44 ` sk
                   ` (12 more replies)
  0 siblings, 13 replies; 82+ messages in thread
From: David Wright @ 2002-12-21  3:30 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 2576 bytes --]

Hello from DownUnder...

I would appreciate some general advice from experienced Ada programmers,
particularly (but not only) those using it as a teaching vehicle for
Computer Science courses etc.

As a young adult investigating learning programming as a hobby
(self-teaching on PC, Windows 98), I�ve been lurking for a while and have
looked at some relevant Ada sites. My purpose is to gradually and thoroughly
learn  computing constructs and ultimately to apply same and see how far I
can take this interest. I'm not making a career of it... well not yet
anyway.

To this end, I obviously need to commit to a particular language programming
environment (not necessarily a GUI development interface); yet there seem to
be several hurdles to even this crucial initial step.  It seems that there
are three essential threshold requirements, namely:

1) A free (preferably) downloadable programming environment that is installs
without fuss and instability
2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
PROGRAMMER per se, not just beginners with that LANGUAGE
3) An online community that has a tradition of supporting such beginners to
programming.

BASIC and PASCAL very!! clearly fulfill these criteria and I am tempted to
start with one of them. However the posts of Richard Riehle and others on
this and other newsgroups speak so highly of Ada�s functionality and syntax
clarity that it�s hard to overlook this as a possibility.

On the other hand, and with the best will in the world, I can�t see that Ada
satisfies ANY of the three criteria above, though I am willing/wanting to be
convinced otherwise.

Specific Questions:
1) Am I not giving Ada sufficient credit for being a suitable entry-level
language for a BEGINNING PROGRAMMER?

2) Would you recommend that I immerse myself in either BASIC (QBasic) or
PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D) and
THEN springboard to Ada?

3) If you were to opt for Ada as an entry point, which particular dialect or
environment would be the most user friendly from a set up and
�learning-the-fundamentals� point of view. Since I have a choice, I�d like
an Ada encounter that is a FUN experience, rather than marred by
gratuitious, buggy FRUSTRATION (which is why I'm not keen on beginning with
C, C++ or Java, even though others do).

Please accept that I am not trying to offend anyone; it�s just that this
initial phase is somewhat forbidding to a neophyte and I need to be a
critical, hype-detecting, cynic ;D.

Many thanks in advance.

David.








^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
@ 2002-12-21  5:44 ` sk
  2002-12-23 14:29   ` Wes Groleau
  2002-12-21  8:39 ` arvids lemchens
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 82+ messages in thread
From: sk @ 2002-12-21  5:44 UTC (permalink / raw)


Hi,

Since the topic is "... NOT a good choice ...", here is a
primary reason not to choose Ada, it is antisocial.

You will alienate yourself from your colleagues because, whilst
they are pulling their hair out, getting ulcers and generally
shortening their lives by debugging at 2AM, you will be at home
with several hours of sleep already completed. This is not a
good position to be in, it causes resentment. Do not choose
Ada as your programming language if you wish to gain the
respect of your (prematurely old) peers.

 > 3) ... dialect ...

Other than experimental efforts and what ifs, there is only Ada,
no dialects. The vendor provided auxilary libraries are about
the only variations, but not to the language itself.

Since you profess to being a beginner and you are working
with Win'98, I would play with the supplied (I think) QBasic
to get a feel for programming.

Once you have a better feel for what you would like to try,
learned the limitations and strengths of Basic, choose a
language most suitable for your goals based on its strength
and weaknesses.

That said, Win'98, an MS-DOS window (set at 80x52) and your
favorite editor and GNAT installed is all you need. Also
the RR Software line is targeted for Wintel platforms and
you might look at it.

-- 
--
-- Merge vertically for real address
--
------------------------------------
-- s n p @ t . o
--  k i e k c c m
------------------------------------




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
  2002-12-21  5:44 ` sk
@ 2002-12-21  8:39 ` arvids lemchens
  2002-12-21  8:53 ` Gautier
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: arvids lemchens @ 2002-12-21  8:39 UTC (permalink / raw)


Hi David,

davidw@uq.net.au am 21.12.02 um 13:30 in comp.lang.ada:
> 1) A free (preferably) downloadable programming environment that is installs
> without fuss and instability

GNAT, ...

Take a look at:

http://www.ada95.ch/compiler/compiler.html

> 2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
> PROGRAMMER per se, not just beginners with that LANGUAGE

There are plenty of Ada-tutorials on the web at different
difficultylevels. Try google.

Also there are books, real Paper, for real Beginners.

e.g.:

"Ada 95 Problem Solving and Program Design" Feldman/Koffman
ISBN: 0-201-36123-X

"Ada 95 From the Beginning" Skansholm
ISBN: 0-201-40376-5

and may be some others I don't know of.

Try google and/or amazon.

> 3) An online community that has a tradition of supporting such beginners to
> programming.

May be, comp.lang.ada?

> Specific Questions:
> 1) Am I not giving Ada sufficient credit for being a suitable entry-level
> language for a BEGINNING PROGRAMMER?

Yes.

> 2) Would you recommend that I immerse myself in either BASIC (QBasic) or
> PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D) and
> THEN springboard to Ada?

No, Ada should be ok, as in the beginning you do not need to use all
features but can start with a subset of the possibilities..

MvfG,

Arvids




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
  2002-12-21  5:44 ` sk
  2002-12-21  8:39 ` arvids lemchens
@ 2002-12-21  8:53 ` Gautier
  2002-12-21  9:42 ` Craig Carey
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: Gautier @ 2002-12-21  8:53 UTC (permalink / raw)


David Wright:

> 1) A free (preferably) downloadable programming environment that is installs
> without fuss and instability

Download GNAT and AdaGIDE, install them (clicking Yes and OK several times)
and it works.
  http://libre.act-europe.fr/GNAT/
  http://www.usafa.af.mil/dfcs/bios/mcc_html/adagide.html

> 2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
> PROGRAMMER per se, not just beginners with that LANGUAGE

The Briefest Introduction to Ada
  http://cs.nyu.edu/courses/fall98/G22.2130-001/adaintro.html
Quick Ada tutorial
  http://goanna.cs.rmit.edu.au/~dale/ada/aln.html
Lovelace
  http://www.adahome.com/Tutorials/Lovelace/lovelace.html

Books: http://www.AdaPower.com/

> 3) An online community that has a tradition of supporting such beginners to
> programming.

:-)

If you have TP7 under hand it is a very good start for a few months.
But:
  - AdaGIDE is now globally an much easier environment than TP7
  - some of the Borland extensions to Pascal are very unhappy,
    don't get trapped in that dialect; on the other hand Ada has
    certainly the lowest dialect problematic among the language fauna.

HTH
________________________________________________________
Gautier  --  http://www.mysunrise.ch/users/gdm/gsoft.htm

NB: For a direct answer, e-mail address on the Web site!



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (2 preceding siblings ...)
  2002-12-21  8:53 ` Gautier
@ 2002-12-21  9:42 ` Craig Carey
  2002-12-21 10:44 ` Dale Stanbrough
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: Craig Carey @ 2002-12-21  9:42 UTC (permalink / raw)




The message (Mr Wirght's) is unclear on how Pascal is better.

The language Pascal was given as an alternative. If a person used Pascal then
the program could later be ported over to Ada 95 using NewP2Ada, that is
available from here:

NewP2Ada: http://www.mysunrise.ch/users/gdm/gsoft.htm#p2ada

NewP2Ada got substantially improved in the last week. The program is based on
ayacc (an Ada Yacc) and now it can very effectively port the bodies of Pascal
programs out to Ada 95. I just ported 342 spec+body files of German software,
from Modula 2/3 out to Ada 95. That led to enhancements being made to NewP2Ada.

The message I reply to, seems to not specifically say what is wrong with Ada 95.

The webpage sports a nice pithy [terse and full of meaning or substance]
description of what coding in Ada 95 is really able to be like:

|   Ada: An army-green Mercedes-Benz staff car. Power steering, power brakes,
|   and automatic transmission are standard. No other colors or options are
|   available. If it's good enough for generals, it's good enough for you.

    From:  http://www.workjoke.com/projoke20.htm  ; More:

|   Java: All-terrain very slow vehicle. 

The page is basically not mentioning Ada 95.


On Sat, 21 Dec 2002 13:30:34 +1000, "David Wright" <davidw@uq.net.au> wrote:
...
>To this end, I obviously need to commit to a particular language programming
>environment (not necessarily a GUI development interface); yet there seem to
>be several hurdles to even this crucial initial step.  It seems that there
>are three essential threshold requirements, namely:
>

A beginner might expect to have a quality text editor that can put the cursor
onto each syntax error and allow them to be corrected rapidly.

Someone using ObjectAda was aiming to get the default GUI replaced with
Codewright (and if that can be used then Slickedit could too):

At 02\12\16 08:10 -0800 Monday, S.H. wrote to intel-objectada@sf.aonix.com:
| This is from intel-objectada. Please reply to the list rather than the sender.
...
| [...] To redirect both standard and error output:
| 
|       adacomp test.ada > err.txt 2>&1

With a quality text editor. the structural reserved words of Ada 95 can be
coloured a Military green.

>1) A free (preferably) downloadable programming environment that installs
>without fuss and instability

The implicitly presented question is imprecisely posed.

>2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
>PROGRAMMER per se, not just beginners with that LANGUAGE

The Internet has a grab bag of Ada 95 documents. Whisking them down can
take up 0.5GB of disk space.

The rest was on frustration. A person in Switzerland have been honing up a
solution for that: complaints can be diverted to forums on Pascal, and later
the source code (source and boyd files) can be ported back to Ada 95 with
great ease.

Another block structured language is Algol 60: it has the rudiments of a
successful language, e.g. the ability to have nested procedures inside of
procedures. There is an Algol 60 to C compiler here: 
   http://www.gnu.org/software/marst/

to go even further back in time, there is the B/C/C++ languages.
In a document that one would hope would briefly detail the rationale, there
is none at all:

   http://cm.bell-labs.com/cm/cs/who/dmr/chist.html :

>The Development of the C Language* 
>Dennis M. Ritchie
>Bell Labs/Lucent Technologies
...
>BCPL, B and C differ syntactically in many details, but broadly
>they are similar. Programs consist of a sequence of global
>declarations and function (procedure) declarations. Procedures can
>be nested in BCPL, but may not refer to non-static objects defined
>in containing procedures. B and C avoid this restriction by
>imposing a more severe one: no nested procedures at all. Each of the
>languages (except for earliest versions of B) recognizes separate
>compilation
...
>C has become successful to an extent far surpassing any early
>expectations. 

Just like error messages of C compilers, the problems are maybe slight, but
finding out what they are is a problem.


G. A. Craig Carey







^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (3 preceding siblings ...)
  2002-12-21  9:42 ` Craig Carey
@ 2002-12-21 10:44 ` Dale Stanbrough
  2002-12-21 15:47   ` Alfred Hilscher
  2002-12-21 11:57 ` David Marceau
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 82+ messages in thread
From: Dale Stanbrough @ 2002-12-21 10:44 UTC (permalink / raw)


David Wright wrote:


> 
> 1) A free (preferably) downloadable programming environment that is installs
> without fuss and instability

Gnat does this (and has the best error messages i've ever seen from
a compiler).

> 2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
> PROGRAMMER per se, not just beginners with that LANGUAGE

There is lots of Ada stuff, but i'm not sure how much is devoted to a
novice.

> 3) An online community that has a tradition of supporting such beginners to
> programming.

Don't know. I don't think we get many of them...



> Specific Questions:
> 1) Am I not giving Ada sufficient credit for being a suitable entry-level
> language for a BEGINNING PROGRAMMER?

Ada is better than Pascal as an intro language. You can just learn a 
subset that is cleaner than Pascal.

I taught Ada to first year students for several years quite successfully.

Dale



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (4 preceding siblings ...)
  2002-12-21 10:44 ` Dale Stanbrough
@ 2002-12-21 11:57 ` David Marceau
  2002-12-21 15:59 ` Alfred Hilscher
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: David Marceau @ 2002-12-21 11:57 UTC (permalink / raw)


First off I am not a great programmer.  I'm more average than anything
else.

Secondly for anybody who wants to be a programmer and reach the zen of
programming I have two suggestions I want to make before answering your
Mr. Wright's questions:  a wanna-be programmer needs to have some basic
human traits and needs to buy some basic core equipment improving
working endurance capability.

Needed Human Traits:
--------------------
1)patience(I've got this)
2)perseverance(I've got this)
3)organization(I'm pretty much human, sometimes I brain fart like
everybody else and don't use an agenda/engineering log when I should).
PSP(Personal Softare Process by Watts S. Humphrey)/CMM standards are a
good habit to develop to help you reach zen ASAP.  I'm not a fan of
extreme programming and I don't want to start a debate on this. 
Eventually you will realize you have to develop Project Manager skills
to just manage yourself :)  Learning project management sofware/CMM/PSP
support software is a good idea.
4)like being in front of a computer because that's where you'll be.
5)Sensitivity to your entourage and self-awareness.  To help you with
this you might want to read a bood on Emotional Intelligence.  If you've
got some personal issues to deal with, you won't be able to focus on the
programming tasks at hand.  Again I'm human and sometimes I brain fart
like everybody else but these kinds of books prevent me from doing it as
often.

Needed Basic Core Equipment Improving Working Endurance Capability
------------------------------------------------------------------
To save you wasting any energy in your efforts with any languages you do
learn in your career path,
1)get quality glasses
2)get a quality monitor, my eyes think color lcd panels are ten million
times better than Cathode Ray Tube types.  Trust me if you do get an LCD
color monitor you will be able to stay in front of your computer for
longer periods of time without getting as much eye fatigue.  A solid
example of this:  I can barely make it through 7.5 hours in front of an
Envision CRT because it leaves a pinching pain in my left eye after the
whole day.  On the other hand a ViewSonic LCD Color Flat Panel Display,
I can stay in front of the computer for about two days straight without
going to bed no problem.  I can't be any clearer than that.
3)Once you discover you have a nice rythm when playing a particular
keyboard for your computer, buy a couple of the same brand name mark and
model number and keep them in storage.  In this way you can have one
keyboard you're used to at home and another keyboard you're used to at
work.  This makes a huge difference in productivity.  I haven't detected
significant quality problems with keyboards but IMHO ergonomic weird
shaped keyboards are not for me.  The standard IBM keyboard is hard to
beat.  My current keyboard that I love is a Future Power KB-FPPC2001/E
but with no special web buttons because I don't like all the extra
value-added crap.  I just want a keyboard that resembles the old
mechanical typewriter keyboards that I learned keyboarding on.  Having
two keyboards like this avoids the frustration of going at work and
working on a keyboard that you doesn't exactly match the keyboard layout
that you're used to.

David Wright wrote:
> Specific Questions:
> 1) Am I not giving Ada sufficient credit for being a suitable entry-level
> language for a BEGINNING PROGRAMMER?
I think if you have patience, learning Ada95 is a good start.  I didn't
always have that opinion considering c/C++/asm/basic have smaller
vocabularies.  IMHO Ada95 was not intended for having smooth learning
curve.  It was mainly intended of helping build large applications and
helping to maintain them more easily to be blunt.  There are a lot of
other design goals for the language but that's the gist.

Mr. Wright I am thirty-five years old and I no longer have any time and
energy to waste.  I have gone through learning basic, asm, prolog,
c/c++, perl, odl/idl, ada95, java, javacard and j2me in about their
respective order along with compiler tools/grammar.  I've done
OLE/COM/DCOM/JNI.
I'm sorry for all the buzzwords but I need to back up that I believe my
opinion should be valuable considering the experience that I bring to
discussion.

All these thingamajig language buzzwords to do something of concrete
value to society.  Some don't break easily.  Some don't seem to protoype
a gui very quickly.  Some seem to compile very quickly.  Some seem to
execute quickly.  Some seem to be maintained easily.  Some seem to build
the executable more easily.  Some have a larger vocabulary and not as
easy to remember.  Ada95 is all the best of these IMHO.  I love
compiling Ada95 code knowing it has a better chance of working first
shot on many operating systems and passing all the unit tests than
c/c++/java/j2me...
Why because all the harder concurrency/multitasking stuff that most
people want to do while networking/gui-ing/databasing is all there in
the ada95 vocabulary with tried and tested recipes.  All you have to do
is learn these Ada95 recipes.  It takes time learning the language but
at least you won't have to struggle against the coding concepts in any
other language that are not necessarily guaranteed to compile and work
on many targets.  Ada95 was intended to jump over all those hurdles for
you in order for you to concentrate on the problem that you are trying
to solve.  From what I have understood a good bunch of these recipes are
in Ada95 books by the following authors:  Barnes, Cohen, Burns,
Wellings.  IMHO that's the order that I would learn these books too if I
were you.

> 2) Would you recommend that I immerse myself in either BASIC (QBasic) or
> PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D) and
> THEN springboard to Ada?
I would recommend investing all your time in Ada95 permitting you to
save time developing the systems you want to make as soon as possible.
I would also recommend compiling your Ada95 on at least two different
platforms i.e. win32 and linux to understand its power.

With time you will probably end up trying to do the same thing with
basic, vb, c, java, j2me, tcl and perl.  After doing so I believe you
will come to the same conclusion as I have: All languages have there
place but if you want something that needs to work on any target Ada95
rules :)

> 
> 3) If you were to opt for Ada as an entry point, which particular dialect or
> environment would be the most user friendly from a set up and
> ?learning-the-fundamentals? point of view. Since I have a choice, I?d like
> an Ada encounter that is a FUN experience, rather than marred by
> gratuitious, buggy FRUSTRATION (which is why I'm not keen on beginning with
> C, C++ or Java, even though others do).
-emacs as a programmer's editor.  It may seem hard to learn but it has
some strong points like Ada95 in its favor that many people don't
appreciate because they haven't taken the time to look closely into the
software.
-gnat Ada95 compiler

Don't let the sleek first impression that msvc/msvb/java gui's give you
fool you.  Learn the language without thinking about gui's right away. 
Thinking about gui's is like opening a can of worms when you want to
learn something.  Stick to just doing command-line, file input output
stuff.
With just this, you'll have plenty of learning here to keep you busy. 
Note the last book I recommended you Burns and Wellings is how to do
concurrency stuff.  Again learn about doing this stuff without guis
first then when you're solid here start learning about any gui sdk you
want.  That's where all the different operating systems differ the most
so avoid it like the plague for now.
As a last step when you're solid with ada95 and concurrency(that'll keep
you busy for quite some time), then I suggest gtk as a gui sdk which
goes well with gnat.
I've done work with Motif/win32/xview/swing/awt so IMHO if you want to
hit all targets in one sweep,  I believe gtk is a good direction for
many reasons which I have discussed in previous CLA postings but to be
frank I haven't invested much time in gtk yet.  I've only compiled and
looked at the source code for the examples and liked what I saw.

REALITY CHECK
-------------
That said reality hits and if you want a job you will have to adapt to
other languages/gui's/sdk's whenever you change jobs with other
companies.  My reality is I change companies often.  Not because I want
to but just because that's the way it is.  One thing is for certain
you're ada95 concepts will follow you everywhere and you will be able to
apply those strong concepts to minimize the damage of using some other
language as much as possible.

Hey if I'm wrong about anything I have said in the above please feel
free to criticize me.  I'm all ears :)

I hope this helps.

You average human,
David Marceau



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21 10:44 ` Dale Stanbrough
@ 2002-12-21 15:47   ` Alfred Hilscher
  2002-12-21 19:01     ` tmoran
  2002-12-22  0:34     ` James S. Rogers
  0 siblings, 2 replies; 82+ messages in thread
From: Alfred Hilscher @ 2002-12-21 15:47 UTC (permalink / raw)




Dale Stanbrough schrieb:
> 
> David Wright wrote:
> 
> >
> > 1) A free (preferably) downloadable programming environment that is installs
> > without fuss and instability
> 
> Gnat does this (and has the best error messages i've ever seen from
> a compiler).

But sometimes it should produce some warnings. See the thread
"CONSTRAINT_ERROR - why?"



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
@ 2002-12-21 15:47 Alexandre E. Kopilovitch
  2002-12-23 14:48 ` Wes Groleau
  0 siblings, 1 reply; 82+ messages in thread
From: Alexandre E. Kopilovitch @ 2002-12-21 15:47 UTC (permalink / raw)


"David Wright" <davidw@uq.net.au> wrote:
>As a young adult investigating learning programming as a hobby
>(self-teaching on PC, Windows 98), IО©╫ve been lurking for a while and have
>looked at some relevant Ada sites. My purpose is to gradually and thoroughly
>learn  computing constructs and ultimately to apply same and see how far I
>can take this interest.
Well, if your aim is indeed "to gradually and thoroughly learn  computing
constructs and ultimately to apply same" then you have very little choice:
you may choose either Ada 95 or SML. All other more or less popular languages
will significately deviate you from the aim.

> I'm not making a career of it... well not yet anyway.
That's good, because neither Ada nor SML are best boosters for a programmer's
career.

>there are three essential threshold requirements, namely:
>
>1) A free (preferably) downloadable programming environment that is installs
>without fuss and instability
For Ada 95 here is GNAT compiler, which fully satisfies this requirement.

>2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
>PROGRAMMER per se, not just beginners with that LANGUAGE
For Ada 95 - no problem with that... although, as a beginner programmer you
should chose a proper textbook among available ones. Perhaps it should be
Michael Feldman's "Ada 95: Problem Solving and Program Design" (3rd edition).

>3) An online community that has a tradition of supporting such beginners to
>programming.
Well, in my personal opinion, Ada 95 is far best of all known programming
languages in this respect.

>BASIC and PASCAL very!! clearly fulfill these criteria and I am tempted to
>start with one of them.
Well, you may have a good start with them, but probably your whole way will
not be too long with such a choice -;)

>Specific Questions:
>1) Am I not giving Ada sufficient credit for being a suitable entry-level
>language for a BEGINNING PROGRAMMER?
Ada assumes that you understand your task *before* programming. For example,
if you decide to solve mathematical equation using Ada, you must know appropriate
mathematical theory beforehand. That is the main restriction imposed by Ada
- Ada do not encourage playing at the program level. So, you may be beginner
as *programmer*, but you should not be beginner in the problem area.

>2) Would you recommend that I immerse myself in either BASIC (QBasic) or
>PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D) and
>THEN springboard to Ada?
My answer is definitely NO.

>3) If you were to opt for Ada as an entry point, which particular dialect or
>environment would be the most user friendly from a set up and
>О©╫learning-the-fundamentalsО©╫ point of view.
There are no Ada dialects, all Ada implementations strive to follow the standard.
As for environments, I think you have little choice because you need free
compiler - and there are no (I think) free non-restricted compilers except
GNAT (Aonix has free version, but it is restricted in several respects...
although that may be not significant for a beginner). You may also look at
Janus/Ada (I think it isn't free, but inexpensive).


Alexander Kopilovitch                      aek@vib.usr.pu.ru
Saint-Petersburg
Russia




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (5 preceding siblings ...)
  2002-12-21 11:57 ` David Marceau
@ 2002-12-21 15:59 ` Alfred Hilscher
  2002-12-21 17:48 ` Britt Snodgrass
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: Alfred Hilscher @ 2002-12-21 15:59 UTC (permalink / raw)




David Wright schrieb:
> As a young adult investigating learning programming as a hobby
> (self-teaching on PC, Windows 98), I’ve been lurking for a while and have
> looked at some relevant Ada sites. My purpose is to gradually and thoroughly
> learn  computing constructs and ultimately to apply same and see how far I
> can take this interest. I'm not making a career of it... well not yet
> anyway.
> 
> To this end, I obviously need to commit to a particular language programming
> environment (not necessarily a GUI development interface); yet there seem to
> be several hurdles to even this crucial initial step.  It seems that there
> are three essential threshold requirements, namely:
> 
> 1) A free (preferably) downloadable programming environment that is installs
> without fuss and instability

Use GNAT, AdaGide and GVD. The links are shown in Gautiers post. First
install GNAT and then install AdaGide (not the other way round). GVD
should be installed automatically with GNAT.

> 2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
> PROGRAMMER per se, not just beginners with that LANGUAGE

You find links for download on www.adapower.com or on www.adaic.org but
books in a bookstore could be a problem -  most of them have only the
"hypes" (C#, Java).


> 3) An online community that has a tradition of supporting such beginners to
> programming.

What's about comp.lang.ada ?
 
> BASIC and PASCAL very!! clearly fulfill these criteria and I am tempted to
> start with one of them. However the posts of Richard Riehle and others on
> this and other newsgroups speak so highly of Ada’s functionality and syntax
> clarity that it’s hard to overlook this as a possibility.

When I was studying, we started with Fortran and Pascal, but I think
this was only because there was no Ada then (1980). Ada is a good start
- from a technical point of view. But - don't tell your friends. They do
C or C++ and you will be a stranger for them.
 
> On the other hand, and with the best will in the world, I can’t see that Ada
> satisfies ANY of the three criteria above,

Open your eyes ;-)

> Specific Questions:
> 1) Am I not giving Ada sufficient credit for being a suitable entry-level
> language for a BEGINNING PROGRAMMER?

Yes, i think. But -you're not the only one.


> 2) Would you recommend that I immerse myself in either BASIC (QBasic) or
No.

> PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D) and

Pascal, ok. But keep in mind that TP is _not_ Pascal.

 
> 3) If you were to opt for Ada as an entry point, which particular dialect or
> environment would be the most user friendly from a set up and

No "dialects" in Ada.

> Please accept that I am not trying to offend anyone; it’s just that this
> initial phase is somewhat forbidding to a neophyte and I need to be a
> critical, hype-detecting, cynic ;D.
> 
> Many thanks in advance.

You're welcome ;-)
 
> David.

Alfred



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (6 preceding siblings ...)
  2002-12-21 15:59 ` Alfred Hilscher
@ 2002-12-21 17:48 ` Britt Snodgrass
  2002-12-21 20:05 ` Peter Hend�n
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: Britt Snodgrass @ 2002-12-21 17:48 UTC (permalink / raw)


"David Wright" <davidw@uq.net.au> wrote in message
news:au0nld$b0$1@bunyip.cc.uq.edu.au...
> Hello from DownUnder...
>
> I would appreciate some general advice from experienced Ada programmers,
> particularly (but not only) those using it as a teaching vehicle for
> Computer Science courses etc.
>
> As a young adult investigating learning programming as a hobby
> (self-teaching on PC, Windows 98), I've been lurking for a while and have
> looked at some relevant Ada sites.

From this statement I assume you have looked at some of the following:
http://www.adapower.com
http://www.adaic.org
http://www.acm.org/sigada
ftp://ftp.cs.nyu.edu/pub/gnat/3.15p/winnt/
http://www.usafa.af.mil/dfcs/bios/mcc_html/adagide.html
http://www.rrsoftware.com
http://www.aonix.com/content/products/objectada/windows.html
http://libre.act-europe.fr/GtkAda/
http://www.cmis.brighton.ac.uk/staff/je/jewl/
http://www.crystalcode.com/codemage/MainMenu/Coding/Ada/IntroducingAda.php

>My purpose is to gradually and thoroughly
> learn  computing constructs and ultimately to apply same and see how far I
> can take this interest. I'm not making a career of it... well not yet
> anyway.
>
> To this end, I obviously need to commit to a particular language
programming
> environment (not necessarily a GUI development interface); yet there seem
to
> be several hurdles to even this crucial initial step.  It seems that there
> are three essential threshold requirements, namely:
>
> 1) A free (preferably) downloadable programming environment that is
installs
> without fuss and instability

GNAT, AdaGIDE, and ObjectAda SE are free and install easily.  There is also
a free subset of the CLAW GUI library available.

> 2) Good online and hardcopy support (tutorials and textbooks) for a
BEGINNER
> PROGRAMMER per se, not just beginners with that LANGUAGE

There are many Ada 95 textbooks available, must published in 1995 thru 1999.
For beginners I recommend "Rendezvous with Ada 95" by David Naiditch or one
of the Ada 95 college texts by Feldman, McCormick, or Barnes. See
http://www.seas.gwu.edu/~mfeldman/ada95books.html and
http://www.adaic.org/free/freebook.html

> 3) An online community that has a tradition of supporting such beginners
to
> programming.

comp.lang.ada provides this (as long as you are not simply trying to get us
to do your homework).

>
> BASIC and PASCAL very!! clearly fulfill these criteria and I am tempted to
> start with one of them. However the posts of Richard Riehle and others on
> this and other newsgroups speak so highly of Ada's functionality and
syntax
> clarity that it's hard to overlook this as a possibility.
>
> On the other hand, and with the best will in the world, I can't see that
Ada
> satisfies ANY of the three criteria above, though I am willing/wanting to
be
> convinced otherwise.
>
> Specific Questions:
> 1) Am I not giving Ada sufficient credit for being a suitable entry-level
> language for a BEGINNING PROGRAMMER?

No you are not. Although Ada supports many advanced features, it is easy to
pick out a simple, PASCAL-like subset and start with that.  I think its a
particulary good first languge. Its not case sensitive and ugly like Java.

>
> 2) Would you recommend that I immerse myself in either BASIC (QBasic) or
> PASCAL (Borland TP7) for a couple of years (yes, OK... forget BASIC ;D)
and
> THEN springboard to Ada?

No, start with Ada and look at other languages later (they may not impress
you much by then).  I came to Ada after using Basic, Fortran 77, and C.  I'd
now like to learn a "functional" language for comparison.

>
> 3) If you were to opt for Ada as an entry point, which particular dialect
or
> environment would be the most user friendly from a set up and
> 'learning-the-fundamentals' point of view. Since I have a choice, I'd like
> an Ada encounter that is a FUN experience, rather than marred by
> gratuitious, buggy FRUSTRATION (which is why I'm not keen on beginning
with
> C, C++ or Java, even though others do).

Start with both GNAT 3.15p for Windows and Aonix ObjectAda 7.2.2 Special
Edition.  Ada is a relatively picky language (intentionally so) but GNAT
provides great error messages.  AdaGIDE is a free Ada editor for use with
GNAT. ObjectAda provides a very good Ada editor and provides a second
compiler so you can try your programs with two different compilers.

>
> Please accept that I am not trying to offend anyone; it's just that this
> initial phase is somewhat forbidding to a neophyte and I need to be a
> critical, hype-detecting, cynic ;D.
>
> Many thanks in advance.

You're welcome.

>
> David.
>

Britt (in Iowa, USA)





^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21 15:47   ` Alfred Hilscher
@ 2002-12-21 19:01     ` tmoran
  2002-12-22  1:06       ` Robert C. Leif
  2002-12-23 11:05       ` Alfred Hilscher
  2002-12-22  0:34     ` James S. Rogers
  1 sibling, 2 replies; 82+ messages in thread
From: tmoran @ 2002-12-21 19:01 UTC (permalink / raw)


> > Gnat does this (and has the best error messages i've ever seen from
> > a compiler).
>
> But sometimes it should produce some warnings. See the thread
> "CONSTRAINT_ERROR - why?"
  Right, you need to include the command line switch so it compiles the
Ada you might expect, the one with overflow checking.  IMHO, you also
need to include the stuff to get a symbolic traceback on an unhandled
exception.  I would alternatively suggest Janus Ada for the quality
of its run-time error messages.  (www.rrsoftware.com)  That's the
compiler I learned Ada from.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (7 preceding siblings ...)
  2002-12-21 17:48 ` Britt Snodgrass
@ 2002-12-21 20:05 ` Peter Hend�n
  2002-12-22  1:54 ` faust
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 82+ messages in thread
From: Peter Hend�n @ 2002-12-21 20:05 UTC (permalink / raw)


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 721 bytes --]

"David Wright" <davidw@uq.net.au> wrote:

> I would appreciate some general advice from experienced Ada programmers,
> particularly (but not only) those using it as a teaching vehicle for
> Computer Science courses etc.

I teach Java and C++ at university level here in Sweden, and I frequently
turn to
Ada to illustrate remedies for the dangers and pitfalls of programming. I
put a lot
of effort into persuading the powers that be that Ada should be used as a
vehicle
for teaching programming concepts and techniques. With all too little
success.
I might add. At least my students know what Ada is - and that it really
should
be used instead of the horrors they have to learn - C++ and Java.

Regards
Peter Hend�n





^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21 15:47   ` Alfred Hilscher
  2002-12-21 19:01     ` tmoran
@ 2002-12-22  0:34     ` James S. Rogers
  2002-12-23 11:11       ` Alfred Hilscher
  1 sibling, 1 reply; 82+ messages in thread
From: James S. Rogers @ 2002-12-22  0:34 UTC (permalink / raw)


"Alfred Hilscher" <Alfred.Hilscher@t-online.de> wrote in message
news:3E048CF5.EC92DE29@t-online.de...
>
>
> Dale Stanbrough schrieb:
> >
> > David Wright wrote:
> >
> > >
> > > 1) A free (preferably) downloadable programming environment that is
installs
> > > without fuss and instability
> >
> > Gnat does this (and has the best error messages i've ever seen from
> > a compiler).
>
> But sometimes it should produce some warnings. See the thread
> "CONSTRAINT_ERROR - why?"

Constraint_Error is a run time exception. The compiler cannot detect all
possible errors. Some are detectable only at run time. The GNAT
compiler identifies the location in the code where a Constraint_Error
was raised. It is up to the programmer to the trace through the code
to determine the initial cause of the error. Often the initial cause is
improper logic some distance from the location where the exception
is raised. In the case of the thread mentioned above, the error was
caused primarily by unfounded assumptions made by the OP.
According to the RM the compiler and run time system behaved
properly.

Jim Rogers





^ permalink raw reply	[flat|nested] 82+ messages in thread

* RE: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21 19:01     ` tmoran
@ 2002-12-22  1:06       ` Robert C. Leif
  2002-12-23 14:56         ` Wes Groleau
  2002-12-23 11:05       ` Alfred Hilscher
  1 sibling, 1 reply; 82+ messages in thread
From: Robert C. Leif @ 2002-12-22  1:06 UTC (permalink / raw)


The one point in favor of Ada that has only been mentioned in this
discussion by Tom Moran is the quality of the error messages. This is
crucial to all developers, who are not language gurus. I have found the
error messages in GNAT to be very useful. The subset of Ada that is the
equivalent of Pascal with the addition of packages, generics, bounded
strings, and child libraries is both powerful and simple. In fact, this
should be a good market for professionals like me who work in other areas
and use Ada as a tool to do their work.
Bob Leif

-----Original Message-----
From: comp.lang.ada-admin@ada.eu.org [mailto:comp.lang.ada-admin@ada.eu.org]
On Behalf Of tmoran@acm.org
Sent: Saturday, December 21, 2002 11:02 AM
To: comp.lang.ada@ada.eu.org
Subject: Re: Why is Ada NOT a good choice for a beginner to programming?

> > Gnat does this (and has the best error messages i've ever seen from
> > a compiler).
>
> But sometimes it should produce some warnings. See the thread
> "CONSTRAINT_ERROR - why?"
  Right, you need to include the command line switch so it compiles the
Ada you might expect, the one with overflow checking.  IMHO, you also
need to include the stuff to get a symbolic traceback on an unhandled
exception.  I would alternatively suggest Janus Ada for the quality
of its run-time error messages.  (www.rrsoftware.com)  That's the
compiler I learned Ada from.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-22  1:54 ` faust
@ 2002-12-22  1:28   ` Hyman Rosen
  2002-12-22  2:11     ` Larry Kilgallen
  2002-12-22 22:49     ` faust
  0 siblings, 2 replies; 82+ messages in thread
From: Hyman Rosen @ 2002-12-22  1:28 UTC (permalink / raw)


faust wrote:
> Faster than C++, fast as C in many areas

This does not make any sense, since with minor changes,
any C code is also C++.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (8 preceding siblings ...)
  2002-12-21 20:05 ` Peter Hend�n
@ 2002-12-22  1:54 ` faust
  2002-12-22  1:28   ` Hyman Rosen
       [not found] ` <u7m2ua.qk3.ln@beastie.ix.netcom.com>
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 82+ messages in thread
From: faust @ 2002-12-22  1:54 UTC (permalink / raw)


 "David Wright" <davidw@uq.net.au> ,  emitted these fragments:

>1) A free (preferably) downloadable programming environment that is installs
>without fuss and instability
>2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
>PROGRAMMER per se, not just beginners with that LANGUAGE
>3) An online community that has a tradition of supporting such beginners to
>programming.

Check out Ocaml.

http://www.ocaml.org/

Faster than C++, fast as C in many areas, it has objects and
functional programming.



--------------------------------------------------------
Come see,
real flowers
of this pain-filled world.

(from Basho)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-22  1:28   ` Hyman Rosen
@ 2002-12-22  2:11     ` Larry Kilgallen
  2002-12-22 22:49     ` faust
  1 sibling, 0 replies; 82+ messages in thread
From: Larry Kilgallen @ 2002-12-22  2:11 UTC (permalink / raw)


In article <uz8N9.61119$_S2.40889@nwrddc01.gnilink.net>, Hyman Rosen <hyrosen@mail.com> writes:
> faust wrote:
>> Faster than C++, fast as C in many areas
> 
> This does not make any sense, since with minor changes,
> any C code is also C++.

Mentally insert a couple of "typical existing code written in" phrases.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-22  1:28   ` Hyman Rosen
  2002-12-22  2:11     ` Larry Kilgallen
@ 2002-12-22 22:49     ` faust
  1 sibling, 0 replies; 82+ messages in thread
From: faust @ 2002-12-22 22:49 UTC (permalink / raw)


 Hyman Rosen <hyrosen@mail.com> ,  emitted these fragments:

>faust wrote:
>> Faster than C++, fast as C in many areas
>
>This does not make any sense, since with minor changes,
>any C code is also C++.

For trivial application, yes the differences are minimal.

However, write a ray tracer in C++, write another in C and see how
similar  the source code is.

--------------------------------------------------------
Come see,
real flowers
of this pain-filled world.

(from Basho)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21 19:01     ` tmoran
  2002-12-22  1:06       ` Robert C. Leif
@ 2002-12-23 11:05       ` Alfred Hilscher
  1 sibling, 0 replies; 82+ messages in thread
From: Alfred Hilscher @ 2002-12-23 11:05 UTC (permalink / raw)




tmoran@acm.org schrieb:
> 
> > > Gnat does this (and has the best error messages i've ever seen from
> > > a compiler).
> >
> > But sometimes it should produce some warnings. See the thread
> > "CONSTRAINT_ERROR - why?"
>   Right, you need to include the command line switch so it compiles the
> Ada you might expect, the one with overflow checking.  IMHO, you also
> need to include the stuff to get a symbolic traceback on an unhandled
> exception.  I would alternatively suggest Janus Ada for the quality
> of its run-time error messages.  (www.rrsoftware.com)  That's the
> compiler I learned Ada f

No, you misunderstood. Aonix tells me at COMPILE TIME "this will raise
an exception", GNAT compiles WITHOUT a message, but raises the exception
during runtime. I prefer to be informed at an early time.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-22  0:34     ` James S. Rogers
@ 2002-12-23 11:11       ` Alfred Hilscher
  2002-12-23 14:32         ` Wes Groleau
  2002-12-23 19:54         ` tmoran
  0 siblings, 2 replies; 82+ messages in thread
From: Alfred Hilscher @ 2002-12-23 11:11 UTC (permalink / raw)




"James S. Rogers" schrieb:
> 
> 
> Constraint_Error is a run time exception. The compiler cannot detect all
> possible errors. Some are detectable only at run time. 

Sure, but there are some sort of statements where the compiler KNOWS
that there an exception will be raised. So - why not give a warning at
compile time? The Aonix compiler do so!!!

> The GNAT
> compiler identifies the location in the code where a Constraint_Error
> was raised. It is up to the programmer to the trace through the code
> to determine the initial cause of the error. Often the initial cause is
> improper logic some distance from the location where the exception
> is raised. In the case of the thread mentioned above, the error was
> caused primarily by unfounded assumptions made by the OP.

Nevertheeless the compiler could give a hint during compilation,
couldn`t it?

> According to the RM the compiler and run time system behaved
> properly.

Yes, yes. The behaviour is correct, but it could be more supportive.
Don`t you think it's good to be informed early? Ok, then lets switch
back to C (_all_ errors will be detected during runtime).



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  5:44 ` sk
@ 2002-12-23 14:29   ` Wes Groleau
  2002-12-23 17:36     ` sk
  2002-12-24  0:50     ` Craig Carey
  0 siblings, 2 replies; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 14:29 UTC (permalink / raw)



> Since you profess to being a beginner and you are working
> with Win'98, I would play with the supplied (I think) QBasic
> to get a feel for programming.

He professes to be a beginner, and yet he has enough
insight to see that C, C++, and Java invite "buggy
frustration"  :-)

Actually, as much as I detest the unjustified hype
surrounding Java, it might be considered a good
_compromise_ between C/C++ and Ada.  It prevents
_some_ of the badness of the former, but it doesn't
have all the power of the latter.  And, like it or not,
it DOES have a big set of libraries.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 11:11       ` Alfred Hilscher
@ 2002-12-23 14:32         ` Wes Groleau
  2002-12-23 19:54         ` tmoran
  1 sibling, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 14:32 UTC (permalink / raw)



> Yes, yes. The behaviour is correct, but it could be more supportive.
> Don`t you think it's good to be informed early? Ok, then lets switch
> back to C (_all_ errors will be detected during runtime).

OR, detected by a human noticing that the outputs
don't seem quite right.

Or, not detected at all!!  :-)

(You could say this about _any_ language, but
some languages do it more _often_)




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21 15:47 Alexandre E. Kopilovitch
@ 2002-12-23 14:48 ` Wes Groleau
  0 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 14:48 UTC (permalink / raw)


> Ada assumes that you understand your task *before* programming. For example,
> if you decide to solve mathematical equation using Ada, you must know appropriate
> mathematical theory beforehand. That is the main restriction imposed by Ada
> - Ada do not encourage playing at the program level. So, you may be beginner
> as *programmer*, but you should not be beginner in the problem area.

Not so.  One can "play" with Ada jsut as with any other language.
The difference is that most other languages are "yes-men."  If
you aim the gun at your foot, they assume you have the right
to make your own choices.  Ada is a meddler--instead of minding
her own business she'll irritatingly suggest something different.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
       [not found] ` <u7m2ua.qk3.ln@beastie.ix.netcom.com>
@ 2002-12-23 14:55   ` Wes Groleau
  0 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 14:55 UTC (permalink / raw)


Dennis Lee Bieber wrote:

[comparison of Ada and Delphi]

You exaggerated the differences.  Try this:

> {GNAT hello.adb}
> 
> with Text_IO; use Text_IO;
> procedure hello is
> 
> begin
>   put_line("Hello, mis-begotten world");
> end;
> 
> {Kylix Delphi [Object-Pascal] console application}
> 
> program Hello;
> 
> begin
>   writeln('Hello, mis-begotten world');
> end.

And doesn't "standard" Pascal require some sort
of thing similar to the context clause
(in parens following the name of the program)?




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-22  1:06       ` Robert C. Leif
@ 2002-12-23 14:56         ` Wes Groleau
  0 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 14:56 UTC (permalink / raw)


> The one point in favor of Ada that has only been mentioned in this
> discussion by Tom Moran is the quality of the error messages. This is

That is not a point for Ada, it's a point for GNAT.
I have seen compilers with USELESS error messages,
and most are mediocre.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 14:29   ` Wes Groleau
@ 2002-12-23 17:36     ` sk
  2002-12-23 18:24       ` David Wright
  2002-12-24  0:50     ` Craig Carey
  1 sibling, 1 reply; 82+ messages in thread
From: sk @ 2002-12-23 17:36 UTC (permalink / raw)


wesgroleau@despammed.com:
 > He professes to be a beginner, and yet he has enough
 > insight to see that C, C++, and Java invite "buggy
 > frustration"  :-)

Yes, I sensed a touch of fishing in the OP hence the
"antisocial" comments.

I still think a true begginer cannot do anything
but learn by taking already available tools (QBasic
on a Win platform).

Investing a lot of time and/or money in a more
complex setup could lead to frustration aggravation
and eventual alienation especially if fundamentals
(loops, arrays etc) are not understood and the OP
is not part of a structured/formal educational
environment.

Until someone knows what undeclared variables are,
they cannot understand the value of a language that
will not allow them.



-- 
--
-- Merge vertically for real address
--
------------------------------------
-- s n p @ t . o
--  k i e k c c m
------------------------------------




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 17:36     ` sk
@ 2002-12-23 18:24       ` David Wright
  2002-12-23 19:16         ` sk
                           ` (2 more replies)
  0 siblings, 3 replies; 82+ messages in thread
From: David Wright @ 2002-12-23 18:24 UTC (permalink / raw)



"sk" <sk@noname.com> wrote in message
news:mailman.1040664961.4038.comp.lang.ada@ada.eu.org...
> wesgroleau@despammed.com:
>  > He professes to be a beginner, and yet he has enough
>  > insight to see that C, C++, and Java invite "buggy
>  > frustration"  :-)
>
> Yes, I sensed a touch of fishing in the OP hence the
> "antisocial" comments.

> Since you profess to being a beginner
>


Mom used to say, "If you can't say anything nice..."

I said I was a beginner to programming; I didn't say I was brain dead or
illiterate. It doesn't take Mensa affiliate to read the C, C++, Java
newsgroups and see that beginners are soon befuddled by non-intuitive
syntactical clutter and compiler catastrophes.

This was precisely the purpose of my original post - to see if the Ada
language and community was a congenial place to commit to my learning curve,
yet it's precisely your sort of undergraduate snottiness that puts visitors
off. Happily, I've found that there are some inspiring adults here,
possessed of a generous spirit.  Read and learn boys since I assume from
your tone that you both must be about 15 years old.

David Wright






^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 18:24       ` David Wright
@ 2002-12-23 19:16         ` sk
  2002-12-23 19:48           ` David Wright
  2002-12-23 21:17           ` Robert A Duff
  2002-12-23 21:30         ` Wes Groleau
  2002-12-30 16:22         ` Mark
  2 siblings, 2 replies; 82+ messages in thread
From: sk @ 2002-12-23 19:16 UTC (permalink / raw)


Hi,


 > Mom used to say, "If you can't say anything nice..."

If you read what I said, I genuinelly beleive you would
be better off looking at readily available tools rather
than posting provocative messages in the comp.* news
groups.

 > ... see that beginners are soon befuddled by non-intuitive
 > syntactical clutter and compiler catastrophes.

Basic is a very valuable learning tool to get a
feel for what programming is. My comments concerning
BASIC were not meant to be a snide remarks.

 > Read and learn boys since I assume from your tone that
 > you both must be about 15 years old.

I cannot speak for Wes Grouleau, but I suspect that I
was programming in BASIC (which lead me to appreciate
the value of a language such as Ada) before you were
even born.

Congtatulations, I have risen to your trollish, provocative
and childish comment :-)

-- 
--
-- Merge vertically for real address
--
------------------------------------
-- s n p @ t . o
--  k i e k c c m
------------------------------------




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 19:16         ` sk
@ 2002-12-23 19:48           ` David Wright
  2002-12-23 21:33             ` Wes Groleau
  2002-12-23 21:17           ` Robert A Duff
  1 sibling, 1 reply; 82+ messages in thread
From: David Wright @ 2002-12-23 19:48 UTC (permalink / raw)



"sk" <sk@noname.com> wrote in message
news:mailman.1040671026.6867.comp.lang.ada@ada.eu.org...

<<<
I suspect that I was programming in BASIC before you were even born.
<<<

Golly, that really put me in my place didn't it?

If what you say is true (...before you were even born), don't even dream you
can have the last word!!!

The days when children were seen and not heard is long gone. And don't you
just hate that!

All these young, loud, enthusiastic, articulate, brash, switched on,
unstoppable, totally resiliant (take note) kids who are potentially smarter
at 13 than you have ever been or will ever be. That's gotta hurt.

Have a nice life, or what's left of it. Or better still, try to be nicer. We
won't accept anything less.

DW
PS SK don't bother directing any additional programming advice to me; you
lost all credibility with your first response to my post.








^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 11:11       ` Alfred Hilscher
  2002-12-23 14:32         ` Wes Groleau
@ 2002-12-23 19:54         ` tmoran
  1 sibling, 0 replies; 82+ messages in thread
From: tmoran @ 2002-12-23 19:54 UTC (permalink / raw)


> Sure, but there are some sort of statements where the compiler KNOWS
> that there an exception will be raised. So - why not give a warning at
> compile time? The Aonix compiler do so!!!
  Do you think other compilers don't?

procedure testerr is
  a : positive;
begin
  a := 0;
end testerr;

Gnat
testerr.adb:4:08: warning: value not in range of type "Standard.positive"
testerr.adb:4:08: warning: "constraint_error" will be raised at run time

Aonix
testerr.adb: Warning: line 4 col 8 LRM:11.5(17), Value outside range, Constraint_Error will be raised
*****Warning: At line 4 in ..\testerr.adb.  Constraint_Error will be raised here if executed [value outside range].

Janus
In File E:\claw133\finder\TESTERR.ADB at line 4
--------------
    3:  begin
    4:    a := 0;
---------------^
*WARNING* Expression is always out of range (6.5.1)

(The Janus manual 6.5.1 says "An expression has an unchanging value that
is not within the appropriate range bounds.  This will always raise
Constraint Error."  The Janus error messages have a short sentence,
a reference to a short paragraph in the Janus manual, and usually, though
not in this case, an ARM reference.)

OTOH, none of the three detected at compile time that an exception
would be raised by

procedure testerr is
  a : positive := 2;
begin
  for i in 1 .. 2 loop
    a := a-1;
  end loop;
end testerr;



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 19:16         ` sk
  2002-12-23 19:48           ` David Wright
@ 2002-12-23 21:17           ` Robert A Duff
  2002-12-24 19:22             ` faust
  1 sibling, 1 reply; 82+ messages in thread
From: Robert A Duff @ 2002-12-23 21:17 UTC (permalink / raw)


sk <sk@noname.com> writes:

> Basic is a very valuable learning tool to get a
> feel for what programming is.

I disagree.  Basic is a poor language to learn first.
Much better would be Ada or some dialect of ML.

- Bob



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 18:24       ` David Wright
  2002-12-23 19:16         ` sk
@ 2002-12-23 21:30         ` Wes Groleau
  2002-12-23 22:11           ` David Wright
  2002-12-30 16:22         ` Mark
  2 siblings, 1 reply; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 21:30 UTC (permalink / raw)


>> > He professes to be a beginner, and yet he has enough
>> > insight to see that C, C++, and Java invite "buggy
>> > frustration"  :-)
>>
>>Yes, I sensed a touch of fishing in the OP hence the
>>"antisocial" comments.

> Mom used to say, "If you can't say anything nice..."

"If you ain't got nuttin to say, don't say nuttin at all"
       (My son's rephrasing of that proverb)

> I said I was a beginner to programming; I didn't say I was brain dead or
> illiterate. It doesn't take Mensa affiliate to read the C, C++, Java
> newsgroups and see that beginners are soon befuddled by non-intuitive
> syntactical clutter and compiler catastrophes.

I did not mean to imply you aren't a beginner.
I was just hinting that you apparently know more
than some folks assumed you know.

> possessed of a generous spirit.  Read and learn boys since I assume from
> your tone that you both must be about 15 years old.

I haven't a clue of sk's age.  _I_ am pushing fifty.
As for "spirit" - well, I am generally fairly helpful,
however, I also have a "talent" for offending folks
without intending to.  (But nobody noticed, right?)

I guess the problem is "beginner" means different things
to different people.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 19:48           ` David Wright
@ 2002-12-23 21:33             ` Wes Groleau
  0 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2002-12-23 21:33 UTC (permalink / raw)


David, should you choose to accept it, my advice to you is:

1. Never attribute to malice that which can be
    adequately explained by stupidity.

2. Never attribute to stupidity that which can be
    adequately explained by ignorance.

3. Never attribute to ignorance that which can be
    adequately explained by miscommunication.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 21:30         ` Wes Groleau
@ 2002-12-23 22:11           ` David Wright
  0 siblings, 0 replies; 82+ messages in thread
From: David Wright @ 2002-12-23 22:11 UTC (permalink / raw)


A very classy and admirable reconciliation Mr G.

Thanks ;P

DW







^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24 19:22             ` faust
@ 2002-12-24  0:46               ` Robert A Duff
  2002-12-24  9:41                 ` Pascal Obry
                                   ` (3 more replies)
  0 siblings, 4 replies; 82+ messages in thread
From: Robert A Duff @ 2002-12-24  0:46 UTC (permalink / raw)


faust <urfaust@optushome.com.au> writes:

> Remember what Dijkstra said:
> 
> "It is practically impossible to teach good programming style to
> students that have had prior exposure to BASIC; as potential
> programmers they are mentally mutilated beyond hope of regeneration."
> ( Professor Edsger Dijkstra )

I don't much like Dijkstra's style.  I mean, if you're trying to
convince someone who only knows BASIC that there are better languages,
the above hyperbole would just annoy the person.  If usenet had existed,
it would start a silly flame war.  (Didn't Dijkstra's also say teaching
BASIC should require a prison sentence?  Or was that some other
language?  I used to think it was a pretty clever way of speaking.)

It's also the case that BASIC has changed a lot since he said that.
Or should I say, BASICs, plural?  ;-)

One should learn *many* programming languages, if one is serious about
programming.  But one should not start with BASIC (or C, or assembly).

- Bob



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 14:29   ` Wes Groleau
  2002-12-23 17:36     ` sk
@ 2002-12-24  0:50     ` Craig Carey
  2002-12-29 14:44       ` Colin Paul Gloster
  1 sibling, 1 reply; 82+ messages in thread
From: Craig Carey @ 2002-12-24  0:50 UTC (permalink / raw)



On Mon, 23 Dec 2002 09:29:17 -0500, Wes Groleau <wesgroleau@despammed.com> wrote:
...
>> with Win'98, I would play with the supplied (I think) QBasic
>> to get a feel for programming.
>
>He professes to be a beginner, and yet he has enough
>insight to see that C, C++, and Java invite "buggy
>frustration"  :-)
>
>Actually, as much as I detest the unjustified hype
>surrounding Java, it might be considered a good
>_compromise_ between C/C++ and

In all my time browsing around valueless Java websites, I never saw
the point made that companies and developers who use Java, get
complaints about Java, and an very interesting thing about the
complaints is how every user can spot the fact that Java is worse.

Some open source projects use Java because they want the top programmer
to learn it. That faulty thinking can go sour when it turns out that
the software does not run excellently, and the end users want to
criticise Java and it is worse. Instead of bug reports the first
program is close to never being used again. Criticisms of the decision
to use Java tend to appear. Problems with Java can be serious.

I had a problem my self in December 2002: previously I could browse
to the download page and copy the URL off a console window running a
proxy, and then enter that URL into Fastget. But Sun Microsystems has
shut that down and a webbrowser really has to be used. Presumably
persons in the jungles of Asia would still have to use a webbrowser
after bloats up to be 98MB in size or whatever. It is complaints
from Asia and China and all around the world that help make Java
programmers and Java project leaders (and certainly not university
staff who are kept excluded) as unable to defend Sun as we currently
believe them to be.

I see that in the MS trial, a Gosling (?) memo was produced and it
said that Java had instability. Instability seems to described a
far advanced hard to reverse state of averaging evidence of bugs.
Sun Microsystems maybe is a leader in bug concealment. I presume the
first prime technique is to make it look like the end programmers
are at fault.

I am waiting for the day that Sun hits bankruptcy (e.g. forces by
some anti-trust split up) and a judge requires they start imposing
royalty fees on companies like IBM. 


Craig Carey
http://www.ijs.co.nz/ada_95.htm



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24  0:46               ` Robert A Duff
@ 2002-12-24  9:41                 ` Pascal Obry
  2002-12-25  4:43                 ` faust
                                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 82+ messages in thread
From: Pascal Obry @ 2002-12-24  9:41 UTC (permalink / raw)



Robert A Duff <bobduff@shell01.TheWorld.com> writes:

> One should learn *many* programming languages, if one is serious about
> programming.  But one should not start with BASIC (or C, or assembly).

Easy to say. My first "computer" was a ZX81 and the only language available
was BASIC! My second computer was an Amstrad CPC464 and the only language
available at this time was BASIC... well Turbo Pascal was ported to this
computer but it was costing a lot, I bought it, I know!

Of course today there is many more options and one can avoid BASIC.

Pascal.
  who started programming with BASIC.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|         http://perso.wanadoo.fr/pascal.obry
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (10 preceding siblings ...)
       [not found] ` <u7m2ua.qk3.ln@beastie.ix.netcom.com>
@ 2002-12-24 14:01 ` W D Tate
  2002-12-24 20:06   ` Rod Haper
  2002-12-25  0:37   ` noone
  2003-01-13 12:18 ` John English
  12 siblings, 2 replies; 82+ messages in thread
From: W D Tate @ 2002-12-24 14:01 UTC (permalink / raw)


"David Wright" <davidw@uq.net.au> wrote in message news:<au0nld$b0$1@bunyip.cc.uq.edu.au>...
> Hello from DownUnder...
> 
> I would appreciate some general advice from experienced Ada programmers,
> particularly (but not only) those using it as a teaching vehicle for
> Computer Science courses etc.

I have a few suggestions for you - Ada and Python.
Python is an object-oriented script language with easy on the eyes
syntax, a ton of libraries out there and a very very friendly
discussion groups.

If you programming for just the fun of it, then Python is hard to
beat, but IF your working on something that helps pay the bills or
keeps your business afloat then I would advise asking yourself this
question.  How much money are you prepared to flush down the toilet on
such activities as debugging or trying to decipher something conceived
by a kid named Garth?

If that's appealing to you then by all means take the C/C++ route, the
historical evidence points to a good probability that a state of
entropy will have firmly set in by the 2nd or 3rd generation of your
product.  However, if you want to make an honest attempt at avoiding
that and using your time more productively then I would advise looking
at Ada as one alternative.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 21:17           ` Robert A Duff
@ 2002-12-24 19:22             ` faust
  2002-12-24  0:46               ` Robert A Duff
  0 siblings, 1 reply; 82+ messages in thread
From: faust @ 2002-12-24 19:22 UTC (permalink / raw)


 Robert A Duff <bobduff@shell01.TheWorld.com> ,  emitted these
fragments:

 
>. Basic is a poor language to learn first.
>Much better would be Ada or some dialect of ML.

Definitely !
Avoid Basic like the plague.

Remember what Dijkstra said:

"It is practically impossible to teach good programming style to
students that have had prior exposure to BASIC; as potential
programmers they are mentally mutilated beyond hope of regeneration."
( Professor Edsger Dijkstra )

--------------------------------------------------------
Come see,
real flowers
of this pain-filled world.

(from Basho)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24 14:01 ` W D Tate
@ 2002-12-24 20:06   ` Rod Haper
  2002-12-25  0:37   ` noone
  1 sibling, 0 replies; 82+ messages in thread
From: Rod Haper @ 2002-12-24 20:06 UTC (permalink / raw)


W D Tate wrote:
> "David Wright" <davidw@uq.net.au> wrote in message news:<au0nld$b0$1@bunyip.cc.uq.edu.au>...
> 
>>Hello from DownUnder...
>>
>>I would appreciate some general advice from experienced Ada programmers,
>>particularly (but not only) those using it as a teaching vehicle for
>>Computer Science courses etc.
> 
> 
> I have a few suggestions for you - Ada and Python.
> Python is an object-oriented script language with easy on the eyes
> syntax, a ton of libraries out there and a very very friendly
> discussion groups.
> 
> If you programming for just the fun of it, then Python is hard to
> beat, but IF your working on something that helps pay the bills or
> keeps your business afloat then I would advise asking yourself this
> question.  How much money are you prepared to flush down the toilet on
> such activities as debugging or trying to decipher something conceived
> by a kid named Garth?
> 
> If that's appealing to you then by all means take the C/C++ route, the
> historical evidence points to a good probability that a state of
> entropy will have firmly set in by the 2nd or 3rd generation of your
> product.  However, if you want to make an honest attempt at avoiding
> that and using your time more productively then I would advise looking
> at Ada as one alternative.

I've been waiting to see if anyone was going to suggest the combination 
of Python and Ada.  I want to add my enthusiastic support for this 
combination.  For programming beginners, I don't think Python can be 
beat as an intial programming language.  [Long list of benefits and 
pluses omitted.]  An added plus is that Python is full-featured and 
powerfull enough that you won't outgrow it and have to leave it behind 
as your programming expertise grows.  Python is a great blend of 
simplicity, clarity and power that will serve you long and well.  By all 
means, David, take a look at Python.

Then, if you need/want to move on to a programming regime that requires 
industrial strength, robust, compiled programs, you can't beat Ada as 
your choice.  And you'll find that the programming foundations and 
habits that you build with Python will serve you well with Ada.  We may 
live in a C/C++ world awash with poorly designed and implemented code 
but I urge you to consider the less travelled Ada road as a way to avoid 
some of those headaches.

-- 
Rod

+----------------------------------+
|     There is a better way ...    |
|   LAP => Linux + Ada95 + Python  |
+----------------------------------+




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24 14:01 ` W D Tate
  2002-12-24 20:06   ` Rod Haper
@ 2002-12-25  0:37   ` noone
  2002-12-26 13:23     ` W D Tate
  1 sibling, 1 reply; 82+ messages in thread
From: noone @ 2002-12-25  0:37 UTC (permalink / raw)


On 24 Dec 2002 06:01:00 -0800, billtate@usermail.com (W D Tate) wrote:
> How much money are you prepared to flush down the toilet on
>such activities as debugging or trying to decipher something conceived
>by a kid named Garth?
>
>If that's appealing to you then by all means take the C/C++ route, 

In my experience, there are a lot of libraries available for C/C++
that the only counterpart for Ada (often only a binding to the C/C++
library) was, um, "conceived by a kid named Garth".

>the
>historical evidence points to a good probability that a state of
>entropy will have firmly set in by the 2nd or 3rd generation of your
>product.  

Does historical evidence really make much distinction between
languages here? Ada makes "you are not supposed to understand this"
parts less likely, but it won't eliminate them, nor will it make well
designed, named and commented functions and variables. (Ada wouldn't
have stopped the original "you are not supposed to understand this"
comment; according to the writings of one of Unix's creators, the only
thing that would have stopped that would have been actually fully
understanding what they were doing there.)




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24  0:46               ` Robert A Duff
  2002-12-24  9:41                 ` Pascal Obry
@ 2002-12-25  4:43                 ` faust
  2002-12-27 17:54                   ` Warren W. Gay VE3WWG
  2002-12-25  7:24                 ` AG
  2003-01-02 13:47                 ` Wes Groleau
  3 siblings, 1 reply; 82+ messages in thread
From: faust @ 2002-12-25  4:43 UTC (permalink / raw)


  
>it would start a silly flame war.  (Didn't Dijkstra's also say teaching
>BASIC should require a prison sentence?  Or was that some other
>language?  

""The use of COBOL cripples the mind; its teaching should, therefore,
be regarded as a criminal offense."
Edsger Dijkstra "

>One should learn *many* programming languages, if one is serious about
>programming.  But one should not start with BASIC (or C, or assembly).

I plan to teach my 12 year old son to program.
I am vacillating between Ada and Scheme.
I'll probably go with Scheme since there is an excellent and powerful
free envirnoment for it ( Dr Scheme ) 

--------------------------------------------------------
Come see,
real flowers
of this pain-filled world.

(from Basho)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24  0:46               ` Robert A Duff
  2002-12-24  9:41                 ` Pascal Obry
  2002-12-25  4:43                 ` faust
@ 2002-12-25  7:24                 ` AG
  2003-01-02  9:56                   ` John McCabe
  2003-01-02 13:47                 ` Wes Groleau
  3 siblings, 1 reply; 82+ messages in thread
From: AG @ 2002-12-25  7:24 UTC (permalink / raw)



"Robert A Duff" <bobduff@shell01.TheWorld.com> wrote in message
news:wccfzso9rbb.fsf@shell01.TheWorld.com...

> One should learn *many* programming languages, if one is serious about
> programming.  But one should not start with BASIC (or C, or assembly).

I agree with the rest of the [snipped] post. But, why not assembly?
After all, it does allow a person to try and experiment with any
programming approach physically possible on the target system.

Sure, using assembly for any sort of production or even student
work these days may be impractical, but we're talking about
learning here, correct?

So, assuming assembly does allow you to address a small problem
at hand, what's wrong with that as a learning tool?

And [to be a little bit naughty :)]  isn't it true that the people who
developed the higher-level languages originaly started in assembly,
if not downright machine binary code, some time back in the past?





^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-25  0:37   ` noone
@ 2002-12-26 13:23     ` W D Tate
  2002-12-26 20:37       ` David Starner
  0 siblings, 1 reply; 82+ messages in thread
From: W D Tate @ 2002-12-26 13:23 UTC (permalink / raw)


> In my experience, there are a lot of libraries available for C/C++
> that the only counterpart for Ada (often only a binding to the C/C++
> library) was, um, "conceived by a kid named Garth".

Suffice it to say that I'm referring to the mentality that says the
hack/debug is a perfectly fine expression of creativity especially
when its not your money you spending (aka wasting).  It's that form of
discipline I wish to discourage.  Methinks there are far too many of
these folks running around.

> Does historical evidence really make much distinction between
> languages here?  

Not always, but I also don't think I'm out on a limb alone on my
original assertion either.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-26 13:23     ` W D Tate
@ 2002-12-26 20:37       ` David Starner
  2002-12-27 14:02         ` W D Tate
  0 siblings, 1 reply; 82+ messages in thread
From: David Starner @ 2002-12-26 20:37 UTC (permalink / raw)


On 26 Dec 2002 05:23:59 -0800, billtate@usermail.com (W D Tate) wrote:
> It's that form of
>discipline I wish to discourage.  Methinks there are far too many of
>these folks running around.

But you aren't going to escape it by going to Ada - you can program
that way in any language, excluding the most evil. In many cases, you
will be going from a carefully designed and debugged library in C/C++
to the same library, but with a quickly written binding between you. 




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-26 20:37       ` David Starner
@ 2002-12-27 14:02         ` W D Tate
  0 siblings, 0 replies; 82+ messages in thread
From: W D Tate @ 2002-12-27 14:02 UTC (permalink / raw)


David Starner <starner@okstate.edu> wrote in message news:<3vpm0v8j05v3k07qarh8aa7ac5op0utqh9@4ax.com>...
> >discipline I wish to discourage.  Methinks there are far too many of
> >these folks running around.
> 
> But you aren't going to escape it by going to Ada - you can program
> that way in any language, excluding the most evil.... 

I agree but the one's that want "full license" to express their
creative juices don't tend to think "Ada" as their first choice.  I
rather work with the one's that think Ada first, second and last.

>In many cases, you
> will be going from a carefully designed and debugged library in C/C++
> to the same library, but with a quickly written binding between you.

I don't have any issues with Ada wrappers around "good" C/C++ code.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-25  4:43                 ` faust
@ 2002-12-27 17:54                   ` Warren W. Gay VE3WWG
  2003-01-02 13:50                     ` Wes Groleau
  0 siblings, 1 reply; 82+ messages in thread
From: Warren W. Gay VE3WWG @ 2002-12-27 17:54 UTC (permalink / raw)


faust wrote:
>>it would start a silly flame war.  (Didn't Dijkstra's also say teaching
>>BASIC should require a prison sentence?  Or was that some other
>>language?  
> 
> ""The use of COBOL cripples the mind; its teaching should, therefore,
> be regarded as a criminal offense."
> Edsger Dijkstra "

I don't believe that Dijkstra had much nice to say about any
language, including the predecessor to Ada.

For my $0.02, I don't think it really matters what they start in.
It is true however, that early experience _can_ be habit forming,
but this does not necessarily mean the result is predetermined.

I think that being "self taught" can be one of the limiting
factors however. If no one ever pushed you in the direction
of Ada, you might never see the reason why it was worth the
effort. This is where you need a selling job to be done, and
on top of that, the beginner's experience needs to be smoother
than it currently is.

The sad reality is (for beginners) is that if it is hard to use,
and you see no "benefit for me" in this difficulty, then you'll
stick with what you know, or try something else.

>>One should learn *many* programming languages, if one is serious about
>>programming.  But one should not start with BASIC (or C, or assembly).
> 
> I plan to teach my 12 year old son to program.
> I am vacillating between Ada and Scheme.
> I'll probably go with Scheme since there is an excellent and powerful
> free envirnoment for it ( Dr Scheme ) 
...
> (from Basho)

Like writing a book, you must "know your audience". If I ever
attempted to teach Ada to my teen-aged daughter, her eyes would
just glaze over and she would say "sure, dad!"

Yet she was able to learn a "tich" of programming by using Qbasic
that was shipped free with Windows95 (you have to hunt for it on
the CD and install it manually). There QBasic acted as both the
run environment and the IDE for her, keeping things very simple.

She'll not likely ever become a professional, but at least she
has some concept now of how things work.

Now your response might be that I did a poor job of selling Ada
to her, and I'd have to say you were right. But how do you sell
difficult concepts to a young audience that is already numbed by
the complexity of the computer world as they initially see it?
Even we get "numbed" by it, ourselves (or I get increasingly
numbed as I age each new year ;-) )

What concerns me much more is that when she graduated from high
school, only 2 out of 260 kids announced that they were going to
persue a career in computer science/programming. I expect that
out of those 2, at least one of them will quickly want to move
into management.  Who then, over the next decade, is going to do
all the grunt work of programming? Maybe this sample is not
representative of the trend, but I find this statistical
sample rather disturbing. :-(

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24  0:50     ` Craig Carey
@ 2002-12-29 14:44       ` Colin Paul Gloster
  0 siblings, 0 replies; 82+ messages in thread
From: Colin Paul Gloster @ 2002-12-29 14:44 UTC (permalink / raw)


In article news:kf8f0vgs5fj08vkgtkg2juq5d2rcgjqr0g@4ax.com Craig Carey
said:
"[..] Sun Microsystems maybe is a leader in bug concealment. [..]"

It is quite clear that bugs contribute to how many of Sun's own API
methods and classes are deprecated by Sun.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-23 18:24       ` David Wright
  2002-12-23 19:16         ` sk
  2002-12-23 21:30         ` Wes Groleau
@ 2002-12-30 16:22         ` Mark
  2 siblings, 0 replies; 82+ messages in thread
From: Mark @ 2002-12-30 16:22 UTC (permalink / raw)




On Tue, 24 Dec 2002, David Wright wrote:

>
> "sk" <sk@noname.com> wrote in message
> news:mailman.1040664961.4038.comp.lang.ada@ada.eu.org...
> > wesgroleau@despammed.com:
> >  > He professes to be a beginner, and yet he has enough
> >  > insight to see that C, C++, and Java invite "buggy
> >  > frustration"  :-)
> >
> > Yes, I sensed a touch of fishing in the OP hence the
> > "antisocial" comments.
>
> > Since you profess to being a beginner
> >
>
>
> Mom used to say, "If you can't say anything nice..."
>
> I said I was a beginner to programming; I didn't say I was brain dead or
> illiterate. It doesn't take Mensa affiliate to read the C, C++, Java
> newsgroups and see that beginners are soon befuddled by non-intuitive
> syntactical clutter and compiler catastrophes.
>
> This was precisely the purpose of my original post - to see if the Ada
> language and community was a congenial place to commit to my learning curve,
> yet it's precisely your sort of undergraduate snottiness that puts visitors
> off. Happily, I've found that there are some inspiring adults here,
> possessed of a generous spirit.  Read and learn boys since I assume from
> your tone that you both must be about 15 years old.
>
> David Wright
>
>
>
>

Well, lets see, I have recently taken up ada and with the reading of a
small text called "Ada as a second language" I cant say I have had much of
a problem taking it up. If you have enough brain power to read around that
which is not immediatly clear then I cannot personally see why you would
have any difficulty whatsoever.

If you can understand "programming" as a whole you wont have any
difficulty picking up the majority of languages out there.

just my t'pence worth.

Mark




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-25  7:24                 ` AG
@ 2003-01-02  9:56                   ` John McCabe
  0 siblings, 0 replies; 82+ messages in thread
From: John McCabe @ 2003-01-02  9:56 UTC (permalink / raw)


On Tue, 24 Dec 2002 23:24:02 -0800, "AG" <ang@xtra.co.nz> wrote:

>I agree with the rest of the [snipped] post. But, why not assembly?
>After all, it does allow a person to try and experiment with any
>programming approach physically possible on the target system.

>So, assuming assembly does allow you to address a small problem
>at hand, what's wrong with that as a learning tool?

Assuming you *are* being serious, assembly language is wrong as a
learning tool because it is device dependent and you would more than
likely end up learning more about the device itself than the general
techniques of programming. 

Best Regards
John McCabe

To reply by email replace 'nospam' with 'assen'



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-24  0:46               ` Robert A Duff
                                   ` (2 preceding siblings ...)
  2002-12-25  7:24                 ` AG
@ 2003-01-02 13:47                 ` Wes Groleau
  2003-01-08 19:39                   ` faust
  3 siblings, 1 reply; 82+ messages in thread
From: Wes Groleau @ 2003-01-02 13:47 UTC (permalink / raw)



>>Remember what Dijkstra said:
>>"It is practically impossible to teach good programming style to
>>students that have had prior exposure to BASIC; as potential
>>programmers they are mentally mutilated beyond hope of regeneration."
>>( Professor Edsger Dijkstra )
> 
> I don't much like Dijkstra's style.  I mean, if you're trying to
> convince someone who only knows BASIC that there are better languages,
> the above hyperbole would just annoy the person.  If usenet had existed,
> it would start a silly flame war.  (Didn't Dijkstra's also say teaching
> BASIC should require a prison sentence?  Or was that some other

Dijkstra was also the guy who condemned various features of
Ada--features that have since been shown to be very valuable.
And finished his comments by accusing the designers of
incompetence and dishonesty.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-27 17:54                   ` Warren W. Gay VE3WWG
@ 2003-01-02 13:50                     ` Wes Groleau
  0 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2003-01-02 13:50 UTC (permalink / raw)



> It is true however, that early experience _can_ be habit forming,
> but this does not necessarily mean the result is predetermined.

Indeed.  I started with BASIC, both on PDP-8 and on TRS-80.
It was _such_ a pain that I did nothing serious until Pascal
came along.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08 19:39                   ` faust
@ 2003-01-08  2:44                     ` Jeffrey Creem
  2003-01-08 18:54                       ` Wes Groleau
                                         ` (2 more replies)
  0 siblings, 3 replies; 82+ messages in thread
From: Jeffrey Creem @ 2003-01-08  2:44 UTC (permalink / raw)


I hate to feed the trolls (ok maybe not)...But even if Ada were to vanish
off the face of the Earth, many of the concepts that I have heard others
complain about over the years have been adopted by the current "popular"
languages...

I am not sure about Dijkstra's complaints (here are some
http://www.cs.utexas.edu/users/EWD/ewd06xx/EWD663.PDF
but they do not seem to be real attacks on the language but more the
style of the spec. They also seem pretty valid)

Common ones I have heard over the years from others were

1) "Too complicated" (hmm, and C++ is easy)
2) "Exceptions, yuck, I want to return a status." (hmm, C++, C# and Java
seem to like them)
3) "Too slow." (hmm, and we all know what a speed freak Java is...)


There are others, some may even be true.
This is now two posts in two days for me. One replying to the classic VHS
v.s. BETA where Ada played the roll of Beta (better but still lost) and now
this one (worse and should have lost)....

It seems to me the #1 reason that Ada does not grow is much more simple.
People choose languages and
polititians the same way they pick teams in a Superbowl gambling pool. They
are more worried about picking the winner so they can be "right" then they
are about applying critical thinking and making an intellegent selection.




"faust" <urfaust@optushome.com.au> wrote in message
news:8ivo1vo5ir3piqsck4ondj0cuo47g426kf@4ax.com...
> Wes Groleau <wesgroleau@despammed.com> ,  emitted these fragments:
>
> >Dijkstra was also the guy who condemned various features of
> >Ada--features that have since been shown to be very valuable.
>
> Shown by whom ?
>
> The rapidly growing Ada community ?





^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09  0:59                       ` faust
@ 2003-01-08 13:14                         ` Ted Dennison
  2003-01-08 17:41                         ` Warren W. Gay VE3WWG
  1 sibling, 0 replies; 82+ messages in thread
From: Ted Dennison @ 2003-01-08 13:14 UTC (permalink / raw)


faust wrote:
> On the other hand, if you are a hobbyist , an academic or a government
> contractor, well you can ignore the market place.

If you are writing something that has to be around a while, it in fact 
would be *wise* to ignore the marketplace. If all your tools have going 
for them is fashion, they will disappear when the direction of the wind 
changes.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09  0:59                       ` faust
  2003-01-08 13:14                         ` Ted Dennison
@ 2003-01-08 17:41                         ` Warren W. Gay VE3WWG
  2003-01-09 16:40                           ` faust
  1 sibling, 1 reply; 82+ messages in thread
From: Warren W. Gay VE3WWG @ 2003-01-08 17:41 UTC (permalink / raw)


faust wrote:
>  "Jeffrey Creem" <jeff@thecreems.com> ,  emitted these fragments:
>>are more worried about picking the winner so they can be "right" then they
>>are about applying critical thinking and making an intellegent selection.
> 
> Since to many, languages are tools that they use in their professional
> lives, being "right" can be important.

Being "right" means being able to deliver, be on time, be reliable
and be able to maintain the result. Usually management will listen to
talented thinking and if you push your viewpoint, being right may
in fact mean doing "the real right thing".

However, if you must work within the confines of a larger team, where
your viewpoint is not shared WRT Ada (which seems rather common),
then unless you are top dog, or have convincing arguments for both
management and your team, you are correct in that the "right" thing
becomes muddied with politics (I will refuse to call it the "right
thing" however ;-)

> On the other hand, if you are a hobbyist , an academic or a government
> contractor, well you can ignore the market place.

I agree with Ted (in a separate post), that it is probably wise
to ignore the market popularity WRT tools. You need to look
at the life cycle of your product and then evaluate if a
waning market may influence your ability to provide support.
To base a new 20-year product on a trendy new tool, is for
example, not wise.

Someone last year (Ted?) was discussing the problem of providing
replacement motherboards for Navy ships, running military apps
on NT (I think it was). Imagine trying to buy the same thoroughly
tested 486 MBs today? Software support is not much different.

-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08  2:44                     ` Jeffrey Creem
@ 2003-01-08 18:54                       ` Wes Groleau
  2003-01-08 19:48                         ` chris.danx
  2003-01-09  0:59                       ` faust
  2003-01-09  0:59                       ` faust
  2 siblings, 1 reply; 82+ messages in thread
From: Wes Groleau @ 2003-01-08 18:54 UTC (permalink / raw)



> I am not sure about Dijkstra's complaints (here are some
> http://www.cs.utexas.edu/users/EWD/ewd06xx/EWD663.PDF
> but they do not seem to be real attacks on the language but more the
> style of the spec. They also seem pretty valid)

I haven't yet read that one.  A week or so back,
someone posted a similar link in which Dijkstra
said that derived types and subtypes was a stupid
idea.  (And similar comments about other features.)




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-02 13:47                 ` Wes Groleau
@ 2003-01-08 19:39                   ` faust
  2003-01-08  2:44                     ` Jeffrey Creem
  0 siblings, 1 reply; 82+ messages in thread
From: faust @ 2003-01-08 19:39 UTC (permalink / raw)


 Wes Groleau <wesgroleau@despammed.com> ,  emitted these fragments:

>Dijkstra was also the guy who condemned various features of
>Ada--features that have since been shown to be very valuable.

Shown by whom ?

The rapidly growing Ada community ?


CLU had some nice features too..

-- 
natsu-gusa ya     / tsuwamono-domo-ga / yume no ato
summer grasses / strong ones          / dreams site
 
Summer grasses,
All that remains
Of soldier's dreams
(Basho trans. Stryk)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08 18:54                       ` Wes Groleau
@ 2003-01-08 19:48                         ` chris.danx
  2003-01-08 21:59                           ` Wes Groleau
  2003-01-09 16:52                           ` faust
  0 siblings, 2 replies; 82+ messages in thread
From: chris.danx @ 2003-01-08 19:48 UTC (permalink / raw)


Wes Groleau wrote:
> 
> I haven't yet read that one.  A week or so back,
> someone posted a similar link in which Dijkstra
> said that derived types and subtypes was a stupid
> idea.  (And similar comments about other features.)

Why do people place so much value on what Dijkstra said?  Of course I 
know who he was and of his many contributions, but I don't understand 
the facination some have with what he wrote on Ada (or other languages), 
especially since much of it seems like just his opinions (and like the 
opinions of others are not subject to objectivity but personal 
preference).


Chris
-- 
for personal replies change spamoff to chris




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09 16:52                           ` faust
@ 2003-01-08 21:57                             ` Vinzent Hoefler
  0 siblings, 0 replies; 82+ messages in thread
From: Vinzent Hoefler @ 2003-01-08 21:57 UTC (permalink / raw)


faust wrote:

> What do you think the Green Team's leader, Jean Ichbiah is doing these
> days ?
> 
> He is hawking Palm software written in C++.

Probably because there is no Ada-Compiler for PalmOS?


Vinzent.

-- 
When I said "we", officer, I was referring to myself, the four young
ladies, and, of course, the goat.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09 16:40                           ` faust
@ 2003-01-08 21:58                             ` Vinzent Hoefler
  0 siblings, 0 replies; 82+ messages in thread
From: Vinzent Hoefler @ 2003-01-08 21:58 UTC (permalink / raw)


faust wrote:

> When the programmer is likely to have left in less than 2 years to
> join another firm, who cares about "maintaining the result" ?

Me, the maintainer.


Vinzent.

-- 
Steinbach's Guideline for Systems Programming:
        Never test for an error condition you don't know how to
handle.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08 19:48                         ` chris.danx
@ 2003-01-08 21:59                           ` Wes Groleau
  2003-01-09 15:31                             ` Georg Bauhaus
  2003-01-09 16:52                           ` faust
  1 sibling, 1 reply; 82+ messages in thread
From: Wes Groleau @ 2003-01-08 21:59 UTC (permalink / raw)



> Why do people place so much value on what Dijkstra said?  Of course I 
> know who he was and of his many contributions, but I don't understand 
> the facination some have with what he wrote on Ada (or other languages), 
> especially since much of it seems like just his opinions (and like the 
> opinions of others are not subject to objectivity but personal preference).

After reading that report, I don't place any value
on what he said.  I've used derived types, subtypes,
and other abstraction-supporting features of Ada and
I _know_ they're valuable.

A person with an experience is never at the mercy
of a person with an argument.  Not even if the
argument is "but Dijkstra said...."




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08  2:44                     ` Jeffrey Creem
  2003-01-08 18:54                       ` Wes Groleau
@ 2003-01-09  0:59                       ` faust
  2003-01-09  0:59                       ` faust
  2 siblings, 0 replies; 82+ messages in thread
From: faust @ 2003-01-09  0:59 UTC (permalink / raw)


 "Jeffrey Creem" <jeff@thecreems.com> ,  emitted these fragments:

>1) "Too complicated" (hmm, and C++ is easy)
>2) "Exceptions, yuck, I want to return a status." (hmm, C++, C# and Java
>seem to like them)

So is C++ the mark to aim for ?

It has been abandoned by the market which moved to Java and may now be
moving on to C#


-- 
natsu-gusa ya     / tsuwamono-domo-ga / yume no ato
summer grasses / strong ones          / dreams site
 
Summer grasses,
All that remains
Of soldier's dreams
(Basho trans. Stryk)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08  2:44                     ` Jeffrey Creem
  2003-01-08 18:54                       ` Wes Groleau
  2003-01-09  0:59                       ` faust
@ 2003-01-09  0:59                       ` faust
  2003-01-08 13:14                         ` Ted Dennison
  2003-01-08 17:41                         ` Warren W. Gay VE3WWG
  2 siblings, 2 replies; 82+ messages in thread
From: faust @ 2003-01-09  0:59 UTC (permalink / raw)


 "Jeffrey Creem" <jeff@thecreems.com> ,  emitted these fragments:

>are more worried about picking the winner so they can be "right" then they
>are about applying critical thinking and making an intellegent selection.

Since to many, languages are tools that they use in their professional
lives, being "right" can be important.

On the other hand, if you are a hobbyist , an academic or a government
contractor, well you can ignore the market place.

-- 
natsu-gusa ya     / tsuwamono-domo-ga / yume no ato
summer grasses / strong ones          / dreams site
 
Summer grasses,
All that remains
Of soldier's dreams
(Basho trans. Stryk)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08 21:59                           ` Wes Groleau
@ 2003-01-09 15:31                             ` Georg Bauhaus
  2003-01-10  3:26                               ` Hyman Rosen
                                                 ` (3 more replies)
  0 siblings, 4 replies; 82+ messages in thread
From: Georg Bauhaus @ 2003-01-09 15:31 UTC (permalink / raw)


Wes Groleau <wesgroleau@despammed.com> wrote:
: 
: After reading that report, I don't place any value
: on what he said.  I've used derived types, subtypes,
: and other abstraction-supporting features of Ada and
: I _know_ they're valuable.


One complaint he had was that it be possible to define a Length
using derived types and still have "*" return values of type Length,
when it should return an area.  He had a point, hadn't he?
OTOH, with only structural equivalence of types, and no way to derive
both an integral length type and an integral area type, that are really
diferent, how can you build areas into your types, such that the compiler
will prevent use of values of the wrong type?

In which languages has this been fixed?

There is also a tutorial on Algol 68, an equally blamed language.
It is written by Andrew Tanenbaum; if you start reading it, you will
immediately note how many misfeatures of Algol 68 were corrected in Ada.
One example is case statements that do not cover the whole set of
values allowable in a type, like is still possible in C++, and Java
(with the addition of "cleverly" treating one value in two or more cases);
this was also critisized by Hoare in his Turing Award Lecture, iirc,
and it is also fixed in Ada.

So it would be more interesting to hear what EWD would have said
about Ada in the 90s. What's more, would we be thinking about a decent
pre/postcondition/invariant mechanism, or the removal thereof after proving
your algorithm correct, as is present in Eiffel .. SPARK,
and to some extent in Ada's types, without EWD insisting?

-- Georg



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08 17:41                         ` Warren W. Gay VE3WWG
@ 2003-01-09 16:40                           ` faust
  2003-01-08 21:58                             ` Vinzent Hoefler
  0 siblings, 1 reply; 82+ messages in thread
From: faust @ 2003-01-09 16:40 UTC (permalink / raw)


 "Warren W. Gay VE3WWG" <ve3wwg@cogeco.ca> ,  emitted these fragments:

>Being "right" means being able to deliver, 

Yes.

>be on time,
Sometimes.
I do not see that Ada wins here , if six months has to be spend
creating the tools and bindings first.


>be reliable
That is what Version 2.0 is for ;-)

>and be able to maintain the result.

When the programmer is likely to have left in less than 2 years to
join another firm, who cares about "maintaining the result" ?

-- 
natsu-gusa ya     / tsuwamono-domo-ga / yume no ato
summer grasses / strong ones          / dreams site
 
Summer grasses,
All that remains
Of soldier's dreams
(Basho trans. Stryk)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-08 19:48                         ` chris.danx
  2003-01-08 21:59                           ` Wes Groleau
@ 2003-01-09 16:52                           ` faust
  2003-01-08 21:57                             ` Vinzent Hoefler
  1 sibling, 1 reply; 82+ messages in thread
From: faust @ 2003-01-09 16:52 UTC (permalink / raw)


 "chris.danx" <spamoff.danx@ntlworld.com> ,  emitted these fragments:
 
>Why do people place so much value on what Dijkstra said?  Of course I 
>know who he was and of his many contributions, but I don't understand 
>the facination some have with what he wrote on Ada (or other languages), 

Perhaps because he is consistent ?

What do you think the Green Team's leader, Jean Ichbiah is doing these
days ?

He is hawking Palm software written in C++.

-- 
natsu-gusa ya     / tsuwamono-domo-ga / yume no ato
summer grasses / strong ones          / dreams site
 
Summer grasses,
All that remains
Of soldier's dreams
(Basho trans. Stryk)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09 15:31                             ` Georg Bauhaus
@ 2003-01-10  3:26                               ` Hyman Rosen
  2003-01-10 22:58                                 ` Georg Bauhaus
  2003-01-10  3:51                               ` Kevin Cline
                                                 ` (2 subsequent siblings)
  3 siblings, 1 reply; 82+ messages in thread
From: Hyman Rosen @ 2003-01-10  3:26 UTC (permalink / raw)


Georg Bauhaus wrote:
> In which languages has this been fixed?

In C++. It's easy to define classes which are nothing more than
a wrapper around an underlying numeric type, are the same size
as that type, but which also carry around unit information, so
that the product of two lengths is an area. It looks something
like this:

template<typename T, int Mass, int Length, int Time>
struct Unit
{
	T v;
	Unit(T v) : v(v) { }
	// Addition and subtraction are defined only for identical units
	Unit operator+(Unit o) { return Unit(v + o.v); }
	Unit operator-(Unit o) { return Unit(v - o.v); }
};

// Multiplication and division are defined for any units

template<typename T, int M1, int L1, int T1, int M2, int L2, int T2>
inline Unit<T, M1 + M2, L1 + L2, T1 + T2>
operator*(Unit<T,M1,L1,T1> l, Unit<T,M2,L2,T2> r)
{ return Unit<T, M1 + M2, L1 + L2, T1 + T2>(l.v * t.v); }

template<typename T, int M1, int L1, int T1, int M2, int L2, int T2>
inline Unit<T, M1 - M2, L1 - L2, T1 - T2>
operator/(Unit<T,M1,L1,T1> l, Unit<T,M2,L2,T2> r)
{ return Unit<T, M1 - M2, L1 - L2, T1 - T2>(l.v / t.v); }

typedef Unit<double, 0, 1, 0> Length;
typedef Unit<double, 0, 2, 0> Area;
Area compute(Length l, Length r) { return l * r; }




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09 15:31                             ` Georg Bauhaus
  2003-01-10  3:26                               ` Hyman Rosen
@ 2003-01-10  3:51                               ` Kevin Cline
  2003-01-10 13:29                               ` Wes Groleau
  2003-01-11 12:09                               ` Richard Riehle
  3 siblings, 0 replies; 82+ messages in thread
From: Kevin Cline @ 2003-01-10  3:51 UTC (permalink / raw)


Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> wrote in message news:<avk4l9$19i$1@a1-hrz.uni-duisburg.de>...
> Wes Groleau <wesgroleau@despammed.com> wrote:
> : 
> : After reading that report, I don't place any value
> : on what he said.  I've used derived types, subtypes,
> : and other abstraction-supporting features of Ada and
> : I _know_ they're valuable.
> 
> 
> One complaint he had was that it be possible to define a Length
> using derived types and still have "*" return values of type Length,
> when it should return an area.  He had a point, hadn't he?
> OTOH, with only structural equivalence of types, and no way to derive
> both an integral length type and an integral area type, that are really
> diferent, how can you build areas into your types, such that the compiler
> will prevent use of values of the wrong type?
> 
> In which languages has this been fixed?

This is relatively easy to do in C++.
See http://www.fnal.gov/docs/working-groups/fpcltf/html/SIunits-summary.html



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
@ 2003-01-10  6:38 Grein, Christoph
  2003-01-10  8:21 ` Hyman Rosen
                   ` (2 more replies)
  0 siblings, 3 replies; 82+ messages in thread
From: Grein, Christoph @ 2003-01-10  6:38 UTC (permalink / raw)


> > One complaint he had was that it be possible to define a Length
> > using derived types and still have "*" return values of type Length,
> > when it should return an area.  He had a point, hadn't he?
> > OTOH, with only structural equivalence of types, and no way to derive
> > both an integral length type and an integral area type, that are really
> > diferent, how can you build areas into your types, such that the compiler
> > will prevent use of values of the wrong type?
> > 
> > In which languages has this been fixed?
> 
> This is relatively easy to do in C++.
> See http://www.fnal.gov/docs/working-groups/fpcltf/html/SIunits-summary.html

This is also easy in Ada.

For a collection of methods how to deal with dimensions in Ada, see
<http://home.T-Online.de/home/Christ-Usch.Grein/Ada/Dimension.html>



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-10  6:38 Grein, Christoph
@ 2003-01-10  8:21 ` Hyman Rosen
  2003-01-10 15:51 ` Kevin Cline
  2003-01-10 19:00 ` Kevin Cline
  2 siblings, 0 replies; 82+ messages in thread
From: Hyman Rosen @ 2003-01-10  8:21 UTC (permalink / raw)


Grein, Christoph wrote:
> This is also easy in Ada.

No, it is not. Of your referenced approaches, only Macks adopts
the spirit of the C++ solution, in which all unit operations are
checked at compile-time, and unit objects have no space overhead.
And Macks requires a seperate processing step to generate the
Ada code, and furthermore results in a combinatorial explosion
of declarations.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
@ 2003-01-10  8:35 Grein, Christoph
  2003-01-10  9:26 ` Hyman Rosen
  2003-01-13 16:49 ` Hyman Rosen
  0 siblings, 2 replies; 82+ messages in thread
From: Grein, Christoph @ 2003-01-10  8:35 UTC (permalink / raw)


> Grein, Christoph wrote:
> > This is also easy in Ada.
> 
> No, it is not. Of your referenced approaches, only Macks adopts
> the spirit of the C++ solution, in which all unit operations are
> checked at compile-time, and unit objects have no space overhead.
> And Macks requires a seperate processing step to generate the
> Ada code, and furthermore results in a combinatorial explosion
> of declarations.

Hyman, excuse my ignorance, but I'm illiterate in C++.

For me, the code posted looked like Kazakov's solution with run-time handling of 
dimension exponents. Your reply now seems to say that C++ does the checking and 
exponent addition during compile time. Is that true?



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-10  8:35 Why is Ada NOT a good choice for a beginner to programming? Grein, Christoph
@ 2003-01-10  9:26 ` Hyman Rosen
  2003-01-13 16:49 ` Hyman Rosen
  1 sibling, 0 replies; 82+ messages in thread
From: Hyman Rosen @ 2003-01-10  9:26 UTC (permalink / raw)


Grein, Christoph wrote:
> For me, the code posted looked like Kazakov's solution with run-time handling of 
> dimension exponents. Your reply now seems to say that C++ does the checking and 
> exponent addition during compile time. Is that true?

Yes. All those exponents are part of the type, not the object.

When you multiply or divide two units, the compiler can find
only one specialization of the operator* or operator/ template
which accepts the correct parameters, and is therefore forced to
synthesize the correct return type. C++ instantiates the correct
operator for you; in Ada, you would have to request a generic
instantiation before you could use it.

Meanwhile, addition and subtraction are defined only for
two unit operands of the same type (that is, all exponents
equal), so any attempt to add disparate units will not
compile.

Unit objects don't need to carry around type information at runtime,
so they are only as large as the type used to hold their numeric
value. Any half-decent C++ compiler will also inline all the
arithmetic, so the compiled code should look just like arithmetic
on the underlying type, with no runtime overhead at all for the
units checking. This technique works only when all units are
statically present in the code, naturally.

My code is the bare skeletal outline of the approach, of course.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09 15:31                             ` Georg Bauhaus
  2003-01-10  3:26                               ` Hyman Rosen
  2003-01-10  3:51                               ` Kevin Cline
@ 2003-01-10 13:29                               ` Wes Groleau
  2003-01-11 12:09                               ` Richard Riehle
  3 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2003-01-10 13:29 UTC (permalink / raw)


> One complaint he had was that it be possible to define a Length
> using derived types and still have "*" return values of type Length,
> when it should return an area.  He had a point, hadn't he?

Sure.  I didn't say he's always wrong.
Just that after reading his resounding
condemnation of features I _know_ are
valuable, it will never work to quote
Dijkstra to me on a topic I don't know about.

> OTOH, with only structural equivalence of types, and no way to derive
> both an integral length type and an integral area type, that are really
> diferent, how can you build areas into your types, such that the compiler
> will prevent use of values of the wrong type?

This has been solved in at least three different
ways in Ada in discussions on this very news group.
None of the solutions are 100% satisfactory.
However, none of them are really bad, either.




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-10  6:38 Grein, Christoph
  2003-01-10  8:21 ` Hyman Rosen
@ 2003-01-10 15:51 ` Kevin Cline
  2003-01-10 19:00 ` Kevin Cline
  2 siblings, 0 replies; 82+ messages in thread
From: Kevin Cline @ 2003-01-10 15:51 UTC (permalink / raw)


"Grein, Christoph" <christoph.grein@eurocopter.com> wrote in message news:<mailman.1042181162.27181.comp.lang.ada@ada.eu.org>...
> > > One complaint he had was that it be possible to define a Length
> > > using derived types and still have "*" return values of type Length,
> > > when it should return an area.  He had a point, hadn't he?
> > > OTOH, with only structural equivalence of types, and no way to derive
> > > both an integral length type and an integral area type, that are really
> > > diferent, how can you build areas into your types, such that the compiler
> > > will prevent use of values of the wrong type?
> > > 
> > > In which languages has this been fixed?
> > 
> > This is relatively easy to do in C++.
> > See http://www.fnal.gov/docs/working-groups/fpcltf/html/SIunits-summary.html
> 
> This is also easy in Ada.
> 
> For a collection of methods how to deal with dimensions in Ada, see
> <http://home.T-Online.de/home/Christ-Usch.Grein/Ada/Dimension.html>

Did you read Grein's paper?  He says that it was not easy at all.

Grein writes:

  But the request to have full dimensional checking persists as can be seen
  from the pertinent discussions in newsgroup Comp.Lang.Ada. There are two
  basic ways one can try to solve the problem, either by adding to the
  numeric value its dimension as attribute, or by using different types for
  different dimensions.  Since the first method is runtime-consuming,
  whereas the second one is only compiletime-consuming, all effort naturally
  concentrates on the second method.   This is doomed to fail
  as is shown in the paper cited above - although a plethora of overloaded
  operations is used, the result is not really satisfactory.
  Physical equations with all their powers and roots evade these attempts.

In short, Ada's requirement for explicit generic instantiation repels
attempts to create a compile-time verified system of dimensional types,
and Grein gave up on attempts to achieve compile-time type safety.

C++ does not have this problem, and compile-time type safety is
achieved in a fairly obvious way.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-10  6:38 Grein, Christoph
  2003-01-10  8:21 ` Hyman Rosen
  2003-01-10 15:51 ` Kevin Cline
@ 2003-01-10 19:00 ` Kevin Cline
  2 siblings, 0 replies; 82+ messages in thread
From: Kevin Cline @ 2003-01-10 19:00 UTC (permalink / raw)


"Grein, Christoph" <christoph.grein@eurocopter.com> wrote in message news:<mailman.1042181162.27181.comp.lang.ada@ada.eu.org>...
> > > One complaint he had was that it be possible to define a Length
> > > using derived types and still have "*" return values of type Length,
> > > when it should return an area.  He had a point, hadn't he?
> > > OTOH, with only structural equivalence of types, and no way to derive
> > > both an integral length type and an integral area type, that are really
> > > diferent, how can you build areas into your types, such that the compiler
> > > will prevent use of values of the wrong type?
> > > 
> > > In which languages has this been fixed?
> > 
> > This is relatively easy to do in C++.
> > See http://www.fnal.gov/docs/working-groups/fpcltf/html/SIunits-summary.html
> 
> This is also easy in Ada.
> 
> For a collection of methods how to deal with dimensions in Ada, see
> <http://home.T-Online.de/home/Christ-Usch.Grein/Ada/Dimension.html>

Christopher,

I apologize for not noticing that you were referring to your own paper.
But in the paper you mention numerous shortcomings
of the implementation:

  "Ada is not suited to handling physical dimensions!"

and

  ...we can include semantic information within variable declarations...

  g: Meter_Per_Second_2 := 9.81;
  t: Second             := 10.0;
  s: Meter              := 0.5 * g * t**2;
  
  It is the programmer's own responsibility that this formula is physically 
  correct, no type checking is done! 

  ...There is one service restriction: 
    Checks in assignments concerning physical dimensions are not performed. 

The C++ solution affords full compile-time checking of assignments,
and will not allow a quantity of one dimensionality to be assigned
to a variable of another dimensionality except by resorting to
a reinterpret-cast.



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-10  3:26                               ` Hyman Rosen
@ 2003-01-10 22:58                                 ` Georg Bauhaus
  0 siblings, 0 replies; 82+ messages in thread
From: Georg Bauhaus @ 2003-01-10 22:58 UTC (permalink / raw)


Hyman Rosen <hyrosen@mail.com> wrote:
: Georg Bauhaus wrote:
:> In which languages has this been fixed?
: 
: In C++.

Thanks for the illuminating code and pointers.
I was (and still am) also wondering
whether this very problem had been solved in Dijkstra's and Hoare's
then favoured languages :-)



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-09 15:31                             ` Georg Bauhaus
                                                 ` (2 preceding siblings ...)
  2003-01-10 13:29                               ` Wes Groleau
@ 2003-01-11 12:09                               ` Richard Riehle
  2003-01-11 18:13                                 ` Wes Groleau
  3 siblings, 1 reply; 82+ messages in thread
From: Richard Riehle @ 2003-01-11 12:09 UTC (permalink / raw)


Georg Bauhaus wrote:

> One complaint he had was that it be possible to define a Length
> using derived types and still have "*" return values of type Length,
> when it should return an area.  He had a point, hadn't he?
> OTOH, with only structural equivalence of types, and no way to derive
> both an integral length type and an integral area type, that are really
> diferent, how can you build areas into your types, such that the compiler
> will prevent use of values of the wrong type?
>
> In which languages has this been fixed?

We can still achieve compile-time safety using generic formal package
parameters.   The following code does not directly address the derived
type issue,  but it does illustrate a model that can be modified to
provide a solution to this problem.  In some ways, it is like putting
a wrapper around the data type, as suggested in the C++ example
from Hyman Rosen.

=================================================


-- ==========================================================
-- Using generic formal package parameters to ensure
-- type safety from compile-time checking.
-- Author:  Richard Riehle
-- ==========================================================
with Arithmetic_Operations;
with Adding_Operators;
with Multiplying_Operators;
procedure Arithmetic_Experiment is

  type Length is digits 7;  -- could be a derived type
  type Time   is digits 7;  -- could be a derived type
  type Mass   is digits 7; -- could be a derived type

  function "+" (L, R : Length) return Length'Base is
     Result : Length := 0.0;
  begin
     return Result; -- define algorithm for appropiate behavior;
  end "+";

  function "-" (L, R : Length) return Length'Base is
    Result : Length := 0.0;
  begin
     return Result; -- define algorithm for appropiate behavior;
  end "-";

  package Add_Length is new Adding_Operators
                       (Item => Length,
                        "+"  => Arithmetic_Experiment."+",
                        "-"  => Arithmetic_Experiment."-");
  package Add_Mass   is new Adding_Operators (Item => Mass);
  package Add_Time   is new Adding_Operators (Item => Time);

  package Multiply_Length is new Multiplying_Operators (Item => Length);
  package Multiply_Mass   is new Multiplying_Operators (Item => Mass);
  package Multiply_Time   is new Multiplying_Operators (Item => Time);

  package Length_Ops is new Arithmetic_Operations
                                                (Arithmetic => Length,
                                                  F1 => Add_Length,
                                                  F2 => Multiply_Length);

  package Mass_Ops   is new Arithmetic_Operations
                                                (Arithmetic => Mass,
                                                  F1 => Add_Mass,
                                                  F2 => Multiply_Mass);

  package Time_Ops   is new Arithmetic_Operations
                                                 (Arithmetic => Time,
                                                  F1 => Add_Time,
                                                  F2 => Multiply_Time);

begin

     null;

end Arithmetic_Experiment;

====================================================================


with Adding_Operators;
with Multiplying_Operators;
generic
  type Arithmetic is digits <>;
  with package F1 is new Adding_Operators      (Item => Arithmetic);
  with package F2 is new Multiplying_Operators (Item => Arithmetic);
package Arithmetic_Operations is end Arithmetic_Operations;

====================================================================

generic
  type Item is digits <>;
  with function "+" (L, R : Item) return Item is <>;
  with function "-" (L, R : Item) return Item is <>;
package Adding_Operators is end Adding_Operators;

========================================================

generic
  type Item is digits <>;
  with function "*" (L, R : Item) return Item is <>;
  with function "/" (L, R : Item) return Item is <>;
package Multiplying_Operators is end Multiplying_Operators;









^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-11 12:09                               ` Richard Riehle
@ 2003-01-11 18:13                                 ` Wes Groleau
  0 siblings, 0 replies; 82+ messages in thread
From: Wes Groleau @ 2003-01-11 18:13 UTC (permalink / raw)


Richard Riehle wrote:

> We can still achieve compile-time safety using generic formal package
> parameters.   The following code does not directly address the derived
> type issue,  but it does illustrate a model that can be modified to
> provide a solution to this problem.  In some ways, it is like putting
> a wrapper around the data type, as suggested in the C++ example
> from Hyman Rosen.

Except the multiplying operators package should have three formal
types (and a conversion factor that defaults to 1.0) so that it
can provide

   TA * TB = TC      TC / TA = TB
   TB * TA = TC      TC / TB = TA

And we still haven't made length * length = length illegal.
Can this be done as follows?

Application:

    package Length_Types is
            new Dimensioned_Float (Significant_Digits => 12);

    type Length is new Length_Types.Dimension;

    package Area_Types is
            new Dimensioned_Float (Significant_Digits => 12);

    type Area is new Area_Types.Dimension;

    package Multipliers is
            new Multiplying_Operators (Term_One, Term_Two => Length,
                                       Product            => Area);

Library:

    generic
       ... Significant_Digits ...
    package Dimensioned_Float is

       type Dimensioned is digits Significant_Digits;

       -- "+" and "-" are now available just as we want them

       -- Now we must declare the default "*" and "/" illegal:
       function "*" (Left, Right : Dimensioned)
                     return        Dimensioned
          is abstract;

       function "/" (Left, Right : Dimensioned)
                     return        Dimensioned
          is abstract;

       ....

Or will the compiler _insist_ that the abstraction be implemented?




^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
@ 2003-01-13  6:13 Grein, Christoph
  0 siblings, 0 replies; 82+ messages in thread
From: Grein, Christoph @ 2003-01-13  6:13 UTC (permalink / raw)


> Christopher,
> 
> I apologize for not noticing that you were referring to your own paper.

Kevin, no need to apologize.

See my other post with "Subject: Implicit Instantiations - was: Re: Why is Ada 
NOT a good choice for a beginner to 
programming?"



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2002-12-21  3:30 David Wright
                   ` (11 preceding siblings ...)
  2002-12-24 14:01 ` W D Tate
@ 2003-01-13 12:18 ` John English
  12 siblings, 0 replies; 82+ messages in thread
From: John English @ 2003-01-13 12:18 UTC (permalink / raw)


David Wright wrote:
> 
> It seems that there
> are three essential threshold requirements, namely:
> 
> 1) A free (preferably) downloadable programming environment that is installs
> without fuss and instability

ftp://ftp.cs.nyu.edu/pub/gnat/

> 2) Good online and hardcopy support (tutorials and textbooks) for a BEGINNER
> PROGRAMMER per se, not just beginners with that LANGUAGE

http://www.it.bton.ac.uk/staff/je/adacraft/

> 3) An online community that has a tradition of supporting such beginners to
> programming.

news:comp.lang.ada

> On the other hand, and with the best will in the world, I can�t see that Ada
> satisfies ANY of the three criteria above, though I am willing/wanting to be
> convinced otherwise.

Look around you -- the references above are only examples.
(Also see http://www.adapower.com/,
http://burks.bton.ac.uk/burks/language/ada/index.htm).

Convinced yet?

-----------------------------------------------------------------
 John English              | mailto:je@brighton.ac.uk
 Senior Lecturer           | http://www.it.bton.ac.uk/staff/je
 Dept. of Computing        | ** NON-PROFIT CD FOR CS STUDENTS **
 University of Brighton    |    -- see http://burks.bton.ac.uk
-----------------------------------------------------------------



^ permalink raw reply	[flat|nested] 82+ messages in thread

* Re: Why is Ada NOT a good choice for a beginner to programming?
  2003-01-10  8:35 Why is Ada NOT a good choice for a beginner to programming? Grein, Christoph
  2003-01-10  9:26 ` Hyman Rosen
@ 2003-01-13 16:49 ` Hyman Rosen
  1 sibling, 0 replies; 82+ messages in thread
From: Hyman Rosen @ 2003-01-13 16:49 UTC (permalink / raw)


Grein, Christoph wrote:
>  Your reply now seems to say that C++ does the checking and
> exponent addition during compile time.

The first I saw of this technique was in the excellent and
ahead-of-its-time book by Barton & Nackman, _Scientific and
Engineering C++_ (which, despite its name, is much more a book
about C++ templates and other fundamental techniques).

The C++ standards committee had the advantage of reading this
book before completing the standard, and found the techniques
so compelling that they were motivated to make sure that the
standardized language would support them properly.




^ permalink raw reply	[flat|nested] 82+ messages in thread

end of thread, other threads:[~2003-01-13 16:49 UTC | newest]

Thread overview: 82+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-10  8:35 Why is Ada NOT a good choice for a beginner to programming? Grein, Christoph
2003-01-10  9:26 ` Hyman Rosen
2003-01-13 16:49 ` Hyman Rosen
  -- strict thread matches above, loose matches on Subject: below --
2003-01-13  6:13 Grein, Christoph
2003-01-10  6:38 Grein, Christoph
2003-01-10  8:21 ` Hyman Rosen
2003-01-10 15:51 ` Kevin Cline
2003-01-10 19:00 ` Kevin Cline
2002-12-21 15:47 Alexandre E. Kopilovitch
2002-12-23 14:48 ` Wes Groleau
2002-12-21  3:30 David Wright
2002-12-21  5:44 ` sk
2002-12-23 14:29   ` Wes Groleau
2002-12-23 17:36     ` sk
2002-12-23 18:24       ` David Wright
2002-12-23 19:16         ` sk
2002-12-23 19:48           ` David Wright
2002-12-23 21:33             ` Wes Groleau
2002-12-23 21:17           ` Robert A Duff
2002-12-24 19:22             ` faust
2002-12-24  0:46               ` Robert A Duff
2002-12-24  9:41                 ` Pascal Obry
2002-12-25  4:43                 ` faust
2002-12-27 17:54                   ` Warren W. Gay VE3WWG
2003-01-02 13:50                     ` Wes Groleau
2002-12-25  7:24                 ` AG
2003-01-02  9:56                   ` John McCabe
2003-01-02 13:47                 ` Wes Groleau
2003-01-08 19:39                   ` faust
2003-01-08  2:44                     ` Jeffrey Creem
2003-01-08 18:54                       ` Wes Groleau
2003-01-08 19:48                         ` chris.danx
2003-01-08 21:59                           ` Wes Groleau
2003-01-09 15:31                             ` Georg Bauhaus
2003-01-10  3:26                               ` Hyman Rosen
2003-01-10 22:58                                 ` Georg Bauhaus
2003-01-10  3:51                               ` Kevin Cline
2003-01-10 13:29                               ` Wes Groleau
2003-01-11 12:09                               ` Richard Riehle
2003-01-11 18:13                                 ` Wes Groleau
2003-01-09 16:52                           ` faust
2003-01-08 21:57                             ` Vinzent Hoefler
2003-01-09  0:59                       ` faust
2003-01-09  0:59                       ` faust
2003-01-08 13:14                         ` Ted Dennison
2003-01-08 17:41                         ` Warren W. Gay VE3WWG
2003-01-09 16:40                           ` faust
2003-01-08 21:58                             ` Vinzent Hoefler
2002-12-23 21:30         ` Wes Groleau
2002-12-23 22:11           ` David Wright
2002-12-30 16:22         ` Mark
2002-12-24  0:50     ` Craig Carey
2002-12-29 14:44       ` Colin Paul Gloster
2002-12-21  8:39 ` arvids lemchens
2002-12-21  8:53 ` Gautier
2002-12-21  9:42 ` Craig Carey
2002-12-21 10:44 ` Dale Stanbrough
2002-12-21 15:47   ` Alfred Hilscher
2002-12-21 19:01     ` tmoran
2002-12-22  1:06       ` Robert C. Leif
2002-12-23 14:56         ` Wes Groleau
2002-12-23 11:05       ` Alfred Hilscher
2002-12-22  0:34     ` James S. Rogers
2002-12-23 11:11       ` Alfred Hilscher
2002-12-23 14:32         ` Wes Groleau
2002-12-23 19:54         ` tmoran
2002-12-21 11:57 ` David Marceau
2002-12-21 15:59 ` Alfred Hilscher
2002-12-21 17:48 ` Britt Snodgrass
2002-12-21 20:05 ` Peter Hend�n
2002-12-22  1:54 ` faust
2002-12-22  1:28   ` Hyman Rosen
2002-12-22  2:11     ` Larry Kilgallen
2002-12-22 22:49     ` faust
     [not found] ` <u7m2ua.qk3.ln@beastie.ix.netcom.com>
2002-12-23 14:55   ` Wes Groleau
2002-12-24 14:01 ` W D Tate
2002-12-24 20:06   ` Rod Haper
2002-12-25  0:37   ` noone
2002-12-26 13:23     ` W D Tate
2002-12-26 20:37       ` David Starner
2002-12-27 14:02         ` W D Tate
2003-01-13 12:18 ` John English

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