From: Dale Worley
Subject: The Real World
Date: 
Message-ID: <1430@cullvax.UUCP>
·······@cognos.uucp (Robert Stanley) writes:
> Until we get much more powerful computing systems out in the field, remembering
> that the lag to plain old boring commercial DP in the field is about 15 years,
> all persons writing 'real' applications will at some point be obsessed by
> efficiency.  Further, human nature tends to leave us doing things the way we've
> always done them.  How long has it taken for the concept of GOTO-less programs
> to reach grunt level?  Has it?  It will take a long time to wean programmers
> from pointers, even if there is an adequate alternative.  Adequate of course is
> a mutable measurement, depending on local context.

Interestingly, the "fourth generation" business application
development language that my employer (Cullinet) sells has no goto.
It is a very popular product (about 50,000 programmers use it).  I was
amazed, because, though the academics rail about GOTO, very few
"academic" language omit it, and here in the lowbrow world of EDP, the
GOTO was just defined away...

> I can
> name at least one heavy-duty bug that remained undetected for years for each of
> several different language implementations.  Undetected for years means that
> the feature was essentially unused.

Don't bet on it!  Many people program by trial-and-error, "tweak it
until it works".  These programmers don't notice implementation
errors, because they don't understand the difference between "what the
language is specified to do" and "what the implementation does".  On
comp.lang.c there's a message every so often that starts "Well, it
works on *my* compiler, so therefore it's correct C."

Dale
-- 
Dale Worley	Cullinet Software		ARPA: ···········@eddie.mit.edu
UUCP: ...!seismo!harvard!mit-eddie!cullvax!drw
OS/2: Yesterday's software tomorrow

From: Silver
Subject: Re: The Real World
Date: 
Message-ID: <13717@topaz.rutgers.edu>
Dave Worley (···@cullvax.UUCP) writes something like:
> After all the railing about structured programming, oddly enough,
> many "academic" languages still retain a goto-like construct.

I can see the lid flying off of Pandora's box with this one.  The goto
statement has it's uses.  Unfortunately, is also has some much-more-
popular abuses.

Silver

VOICE: Andy Gaynor (Silver)         PHONE: 201-545-0458
INTERNET: ······@topaz.rutgers.edu  ICBM: 40 34 N / 74 45 W
UUCP: ...!<most any big boy>!rutgers!topaz.rutgers.edu!gaynor
ROOF: 81 Hassart Street, New Brunswick, NJ  08901

		 "Down with Holy Wars about the uses
	       and abuses of unconditional branching!"
From: ······@watcgl.UUCP
Subject: Re: Gotos in The Real World
Date: 
Message-ID: <1545@watcgl.waterloo.edu>
·······@cognos.uucp (Robert Stanley) writes:
)Until we get much more powerful computing systems out in the field, remembering
)that the lag to plain old boring commercial DP in the field is about 15 years,
)all persons writing 'real' applications will at some point be obsessed by
)efficiency.  Further, human nature tends to leave us doing things the way we've
)always done them.  How long has it taken for the concept of GOTO-less programs
)to reach grunt level?  Has it?  It will take a long time to wean programmers
)from pointers, even if there is an adequate alternative.  Adequate of course is
)a mutable measurement, depending on local context.

···@cullvax.UUCP (Dale Worley) writes:
>Interestingly, the "fourth generation" business application
>development language that my employer (Cullinet) sells has no goto.
>It is a very popular product (about 50,000 programmers use it).  I was
>amazed, because, though the academics rail about GOTO, very few
>"academic" language omit it, and here in the lowbrow world of EDP, the
>GOTO was just defined away...

GOTOs will probably be part of the "real world" for decades to come,
as obsolete languages like Fortran, Cobol, C and Ada continue to be used.

But I wouldn't say that "very few academic languages omit" the GOTO.
The GOTO controversy started in 1968 with Dijkstra's letter to the
editor in Communications of the ACM (March 1968, pg 147) entitled
"Go To Statement Considered Harmful".  The GOTO continued to show up in
"academic" languages for a number of years afterwards (eg, Algol 68, Pascal).
However, I can think of very few "academic" programming languages designed in
the last 10 years that have a goto statement.  Here are some that don't:
  Hope Miranda ML Modula-2 OBJ-2 Prolog Russell Scheme Smalltalk-80 Turing

Note that many of these languages do not even support pointers.
-- 
Doug Moen
University of Waterloo Computer Graphics Lab
UUCP:     {ihnp4,watmath}!watcgl!kdmoen
INTERNET: ······@cgl.waterloo.edu