From: yoshi@nocusuhs.nnmc.navy.mil (D M Yoshikami)
Newsgroups: misc.writing
Subject: Re: Semantics of "to be"
Summary: About GOTO's -- here he goes AGAIN!!!!!!!!!  :-)
Keywords: GOTO, ISness, IZZY, Foo!
Date: 8 Oct 92 12:41:16 GMT
Organization: National Naval Medical Center

In article <1992Oct7.170022.6141@bcrka451.bnr.ca> nadeau@bnr.ca (Rheal Nadeau) writes:
>This reminds of the great "goto" debate in computer programming - it is
>generally believed that programs written without "goto" are "better"
>than those with.  However, it is still quite possible to write very bad
>programs without "goto", and very good ones with "goto".  The most that
>can be said is that "goto" make it easier to do sloppy programming (oh,
>I forgot this condition, OK, I'll just "goto" over-there and . . .).

This reminds me of when I was studying compiler theory.  When you are
implementing a finite automaton of some kind, when you change states,
you do a "goto" in every sense of the word.  Although structured
programming and goto's (after IF statements) are equal in terms of
expressing flow control, to the astute person reading the code they
are not identical in terms of usage.  The upshot of this is you can
implement a pushdown automaton (for example), completely with
structures, but you'd wind up simulating a GOTO in the end, just as
much as you can implement structures with GOTO's (this is what the
compiler does for you -- simulates your structures with Jumps in the
machine code).  Finite automata look like spaghetti code, and the best
way to implement spaghetti code is with spaghetti code.

One problem is that young programmers often do not have sufficient 
understanding or knowledge to know when it is legal to use a GOTO.
Oddly enough, sometimes designers of computer languages do not
recognise this either.  Ada, for instance, does not really have a
"GOTO" that is easily used, and more is the shame, because programmers
often abuse the Ada "Exception" handler to emulate GOTO's, which
slows things down quite a bit.  [What they write are not really
exceptions, but attempts to force Ada to "GOTO" somewhere because
the machine's state has changed]

>In the end, the key is thinking through what you want to say, then
>finding the words that best convey that messages.  (And while the
>previous sentence uses "is", I doubt it would really be improved by
>trying to avoid that.  Or:  I doubt we could really improve it by
>trying to avoid that?  :-) )

Okay, let's bring this all together.  Finding any old word to convey
the message will do so -- much as lotsa-Goto's can implement something
better off written in structures, and just as a program written in
a highly structured language can implement a gigantic mess of Goto's
for some kind of scanner or parser -- but finding the right words
to do the right job that will best message is indeed the key.

Although we need not necessarily agree with some of the more extremes of
eliminating "IS" from English, much like the mistake of eliminating
the "GOTO" entirely from computer languages, the argument about using "IS"
much like the argument regarding the "GOTO", allows us to check if our
diction is precise or sloppy -- in other words, did we misuse the verb
"to be" or not?

D.Y.  :-)

P.s.  It may seem strange, but I've noticed that computer languages,
follow the same rhetorical guidelines for usage and expression as
natural languages such as English.  Q.v. _The_Elements_of_Programming_Style_

=-=-=-=-=-=-=-=-=-=-=-=-=-=+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
D M Yoshikami  :-) ;-) :-) | Internet: yoshikami@usuhsb.ucc.usuhs.nnmc.navy.mil
     +1 (301) 295-3304     | Bitnet  : yoshikami@usuhsb.bitnet
***  !!xob X*NU V METSYS T&TA eht ni renosirp dleh gnieb m`I  !pleH  !pleH  ***