GOTO Considered Historical
Marc Stiegler
marcs@skyhunter.com
Sat, 24 Oct 1998 19:30:40 -0700
This is a multi-part message in MIME format.
------=_NextPart_000_0009_01BDFF84.C8CBB040
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
A while ago, markm asked me to publish for y'all a short email I'd sent =
him about the history of the defeat of the GOTO, which is instructive in =
a number of ways. This is most relevant for those of you who are young =
enough that you didn't live through the battle (and I think markm was =
one of those too young, now that I think about it :-) This email started =
as a fulfillment of his request, but has taken a slightly different =
flavor in the face of the inheritance discussion.
One might think that Djikstra's publication of "Considered Harmful" was =
the end of the battle. On the contrary, it was only the beginning. The =
real battle involved hand-to-hand fighting between the GOTO-killers and =
the GOTO-users all over the nation: strictly small arms combat, very =
bloody, no prisoners. It continued for over a decade.
One might think that the GOTO was eventually killed by the compellingly =
persuasive, superior logic of the GOTO-killers. Sorry. The battle would =
have continued rage until all the GOTO-users had died of old age except =
for a more important evolutionary change. Eventually, the standard =
programming languages used by everybody incorporated alternative =
solutions for all the uses of GOTO, solutions that were simpler, easier, =
and safer than the GOTO itself. At that point, the argument became moot, =
because nobody cared any more. =20
This episode of my life led to the following obervation that I've found =
has broad applicability: if you want people to do something the right =
way, you have to make the right way the easy way. This is the =
underpinning philosophy that led me to suggest making delegation as easy =
as inheritance as a reasonable third alternative. This is part of my =
reason for believing that wiping inheritance from E is more likely to =
kill E than to kill inheritance.
--marcs
------=_NextPart_000_0009_01BDFF84.C8CBB040
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD W3 HTML//EN">
A while ago, markm asked me to =
publish for y'all=20
a short email I'd sent him about the history of the defeat of the GOTO, =
which is=20
instructive in a number of ways. This is most relevant for those of you =
who are=20
young enough that you didn't live through the battle (and I think markm =
was one=20
of those too young, now that I think about it :-) This email started as =
a=20
fulfillment of his request, but has taken a slightly different flavor in =
the=20
face of the inheritance discussion.
One might think that Djikstra's =
publication of=20
"Considered Harmful" was the end of the battle. On the =
contrary, it=20
was only the beginning. The real battle involved hand-to-hand fighting =
between=20
the GOTO-killers and the GOTO-users all over the nation: strictly small =
arms=20
combat, very bloody, no prisoners. It continued for over a =
decade.
One might think that the GOTO was =
eventually=20
killed by the compellingly persuasive, superior logic of the =
GOTO-killers.=20
Sorry. The battle would have continued rage until all the GOTO-users had =
died of=20
old age except for a more important evolutionary change. Eventually, the =
standard programming languages used by everybody incorporated =
alternative=20
solutions for all the uses of GOTO, solutions that were simpler, easier, =
and=20
safer than the GOTO itself. At that point, the argument became moot, =
because=20
nobody cared any more.
This episode of my life led to the =
following=20
obervation that I've found has broad applicability: if you want people =
to do=20
something the right way, you have to make the right way the easy way. =
This is=20
the underpinning philosophy that led me to suggest making delegation as =
easy as=20
inheritance as a reasonable third alternative. This is part of my reason =
for=20
believing that wiping inheritance from E is more likely to kill E than =
to kill=20
inheritance.
--marcs