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

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

 



| From: Patrick O'Callaghan <pocallaghan@xxxxxxxxx>

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

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [Fedora Magazine]     [Fedora News]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux