TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Sender: "Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
Date: Fri, 18 Feb 2000 17:25:54 -0600
Reply-To: Randy Brukardt <[log in to unmask]>
Content-Transfer-Encoding: 7bit
From: Randy Brukardt <[log in to unmask]>
In-Reply-To: <01BF7A31.CA0D03E0@IGNITOR>
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Parts/Attachments: text/plain (46 lines)
> > R. C. Leif, T. Moran, and R. Brukardt, "Ada 95, The Language Speaks for
> > Itself", Object Magazine, Implementation Languages, 7 (3) pp. 32-39, May
> > (1997)
> Good article, if a bit inflammatory ("... leave it to the JAVA converts
> to describe the sins ...")

Thanks. I think. :-)

> The more I learn about Java, the less impressed I am.  But I must admit it
> does not have one problem the article implies.  The Java inventors figured
> out (finally!) that a boolean is NOT a number.  So it is no longer
> (unless x and y are booleans) to get the compiler to accept x == y  when
> should be  x = y  (as implied by the first paragraph in the second column.
> The sins of the fathers are indeed visited upon the descendants, and Java
> does carry FAR too much baggage from C.  But at least they repented of
> this one.

I don't know if I should defend something written three years ago, but I'm
pretty sure that I was aware of that at the time. I left it in the draft,
because, as you note, they didn't fix the entire problem. Booleans are
rather common in conditionals. Moreover, they kept the stupid, error prone
syntax. Now, you'll just get nagging, annoying error messages instead of
buggy code. An improvement, I suppose, but only if you think that
programming languages have to use lots of {}s and *s. People coming from Ada
or other Pascal family languages will find this a step downwards.

My preference is to have the language syntax and semantics such that it is
easier to write correct code than any other kind. Ada comes close here,
although the visibility of operators causes the kind of stupid errors where
the compiler clearly knows what you meant, but still has to flag the code as
illegal. The only thing worse than that is having to debug code that doesn't
work (but I doubt that any programming language will ever help that much
more than Ada does).

                        Randy Brukardt.

> --
> Wes Groleau