gary@percival.UUCP (Gary Wells) (02/20/88)
As most of you know, Ada is _THE_ new US Gov't, especially military, programming language of choice. Designed by military committee, it has all the disadvantages of both a compiler and an interpreter, since it does both. Anyway, it will be what SDI programs are written in, as well as any new programming for Social Security, IRS, etc. From an ad in the February 1988 edition of _NASA Tech Briefs_, Vol 12 # 2, placed by "alsys", promoting their newest Ada offering: blah, blah, blah . . . "It will develop that most elusive skill: the Ada programming intuition to guess right." . . . More blathering I don't mean to picking on anybody, especially "alsys", who, after all, are only trying to make a living. But since when is an abilty to "guess right" part of a good programmers skills? I don't know about you, but I don't want to trust my survival (no flames; I support SDI strongly!), or my taxes, or the local traffic light to "guesses", right or wrong! Can't you just see some little microcontroller embedded in a smart rocket, saying "I guess that looks like a Soviet tank", and taking out an ice cream truck? Or one of OUR tanks? Wanna trust the IRS with a program that was built on "guesses" ("Honey, why does the IRS say we owe them $3million dollars?"). How about a traffic light? (If north-south just turned "green", I guess I shouldn't let east-west stay green much longer). Remember "Machines should work. People should think."? I propose we change it: "If machines are guessing, I'm going back to rocks and pointed sticks" What an awful thing to find out about a programming language named to honor the first programmer, who certainly didn't "guess"! -- -------------------------------------------------------------------------------- Still working on _natural_ intelligence. gary@percival
mwm@eris (Mike (My watch has windows) Meyer) (02/21/88)
In article <1105@percival.UUCP> gary@percival.UUCP (Gary Wells) writes:
<But since when is an abilty to "guess right" part
<of a good programmers skills?
As long as I've been programming.
The best way to solve a problem is to guess the right answer,
and then prove it's right.
- Dr. R. V. Andree
It's _much_ easier to demonstrate that an answer is right than to find
a right answer from the empty set. For example, having done drop-in
consulting for students, the difference between them trying to figure
out why their programs blew up and me trying the same thing is that I
can look at the output, and have a feel for what they did wrong. Having
"guessed right," it then becomes a simple matter to check their program
listing to "prove I'm right."
<mike
--
He was your reason for living Mike Meyer
So you once said mwm@berkeley.edu
Now your reason for living ucbvax!mwm
Has left you half dead mwm@ucbjade.BITNET
dee@linus.UUCP (David E. Emery) (02/23/88)
Posting-Front-End: GNU Emacs 18.47.1 of Sun Aug 2 1987 on faron (berkeley-unix) gary@percival.uucp writes: <first quoting from an Alsys ad> >"It will develop that most elusive skill: the Ada programming intuition to >guess right." >But since when is an abilty to "guess right" part of a good >programmers skills? I don't know about you, but I don't want to trust >my survival (no flames; I support SDI strongly!), or my taxes, or the >local traffic light to "guesses", right or wrong! The issue here is, I suspect, not making the 'software' guess, but rather developing programmer intuition on how to use the language. Much of programming is a creative process, and, for any language/system/paradigm, there is a learning process on how to best use the features of the language. C shows this a lot; there is a large set of C 'tricks' on how to use the language. Ada, due to its size and its greater power, offers the programmer a much bigger bag of tricks (Ada generics alone offer incredible potential). I think (at least I hope) this is what Alsys meant in the ad. If so, they worded it poorly. My experience has been that a great number of my Ada 'tricks' are those that depend on the compiler to check errors. In other words, I do a lot more 'defensive programming' in Ada, and let the compiler tell me when I screw up. One example: In Ada a case statement MUST cover all alternatives. To make sure I've trapped all parts of the case statement, I won't use an 'others' clause, and if I missed a case, the compiler will complain. Then, I'll add the 'others' clause, to protect myself. No, this isn't any great thing, but there are a zillion different tricks in Ada, some of which are useful at a given point. A programmer needs to develop the intuition to determine which tricks are usable. dave emery emery@mitre-bedford.arpa