On 2020-12-01 10:09 a.m., Jim Capp wrote:
Is it possible the elimination of the GOTO statement
in the Bourne Shell
was related to a Letter to the Editor in Communications of the ACM,
March 1968:
"Go To Statement Considered Harmful," by E. Dijkstra.
Broadly connected to the rise of Structured Programming -- which we take
fully for granted today.
The same movement, and the popularity of Pascal, which was very
competitive with C as an applications language, would have motivated the
inclusion of what were at the time considered "high level" control
structures, in C: do/while/for and block structuring.
--Toby
Jim
------------------------------------------------------------------------
*From: *jason-tuhs(a)shalott.net
*To: *tuhs(a)minnie.tuhs.org
*Sent: *Monday, November 30, 2020 10:59:18 PM
*Subject: *Re: [TUHS] The UNIX Command Language (1976)
"The UNIX Command Language is the first-ever
paper published on the Unix
shell. It was written by Ken Thompson in 1976."
https://github.com/susam/tucl
Thanks for that.
This reminded me that the Thompson shell used goto for flow control, which
I had forgotten.
Bourne commented on the omission of goto from the Bourne shell, "I
eliminated goto in favour of flow control primitives like if and for.
This was also considered rather radical departure from the existing
practice."
Was this decision contentious at all? Was there a specific reason for
goto's exclusion in the Bourne shell?
Thanks.
-Jason