[TUHS] The UNIX Command Language (1976)

Toby Thain toby at telegraphics.com.au
Wed Dec 2 01:35:18 AEST 2020

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.


> Jim
> ------------------------------------------------------------------------
> *From: *jason-tuhs at shalott.net
> *To: *tuhs at 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

More information about the TUHS mailing list