[TUHS] The UNIX Command Language (1976)

Rob Pike robpike at gmail.com
Wed Dec 2 06:13:36 AEST 2020


Go lets you say "Loop: for ..." and then "break Loop".

-rob


On Wed, Dec 2, 2020 at 3:40 AM <arnold at skeeve.com> wrote:

> > On Tue, Dec 1, 2020 at 8:39 AM <arnold at skeeve.com> wrote:
> > > It was recognized that goto was not necessary if one had proper control
> > > structures in a language (if/else, while), and that code with no (or
> > > minimal) gotos was easier to read and understand.
>
> Warner Losh <imp at bsdimp.com> wrote:
> > This is true for simple flow control. However, when you had to break out
> of
> > multiple levels, or continue not the inner loop, but the middle loop, the
> > use of extra booleans sure made the code less understandable than a
> 'goto'
> > a label that stood in for that purpose... This was something that wasn't
> > well understood by language designers, and even today C and C++ neither
> > have good flow control beyond the basics. Even though both break and
> > continue could take an optional count without breaking old code....
>
> Quite true. Modern Bourne shells let you supply a number to break and
> continue to specify how many loops to break.  Ada, or maybe it was one of
> the Modula-X languages, let you put a label on a loop so that you could
> say `continue outer' or `break outer' and not need the booleans.
>
> This is something that newer languages (C#, Java, Go, ...) could have
> picked
> up but didn't, which I think is too bad.
>
> Arnold
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20201202/91e43002/attachment.htm>


More information about the TUHS mailing list