[comp.lang.c] Gotos in The Real World

kdmoen@watcgl.UUCP (08/05/87)

roberts@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.

drw@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: kdmoen@cgl.waterloo.edu