[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Goto [Was Re: Chown ???]

| From: Patrick O'Callaghan <pocallaghan gmail com>

|  The problems with Goto were pointed out by
| Dijkstra in his famous 1968 letter to CACM "Go To Statement Considered
| Harmful", which is several years before C appeared on the scene. (Note
| also Knuth's 1974 rebuttal to Dijkstra "Structured Programming with Goto
| Statements"; old controversies never die, they just fade away).

I actually dropped in on Dijkstra in Eindhoven (in perhaps 1970) and
asked him why he said gotos were bad.  Talk about chutzpah.  He was
unbelievably gracious to me -- talking for an hour or two on many
topics.  Sadly, I don't remember what he said.

It is pretty hard to imagine the state of the art in those years.
Dijkstra and others (including Knuth) gave us tools to think about the
structure of programs.

The programming languages I had available didn't lend themselves to
gotoless programming.  I used Fortran IV and various assembly
languages.  PL/I was available but it was a pig.

Structured Programming prompted the adoption of Algol 60's control
structures, and better, into various programming languages, including
Fortran, BASIC, and C.  I admit that C actually got this from B which
got it from BCPL, which got it from CPL, which got it from Algol.
Dijkstra and Strachey (the designer of CPL, among other things) were
part of the Algol committee.

| C programmers are not notable users of goto's in my experience. In fact
| the use of goto is pretty unusual (unless you consider break and
| continue to be disguised goto's).

C programmers don't often write gotos.  But of the gotos I've seen in
C, a fair number would be better done without.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]