Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles; site ea.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!ihnp4!inuxc!pur-ee!uiucdcs!ea!mwm From: mwm@ea.UUCP Newsgroups: net.lang Subject: Re: Re: Teaching students with GOTO - (nf) Message-ID: <5400006@ea.UUCP> Date: Wed, 6-Jun-84 13:43:00 EDT Article-I.D.: ea.5400006 Posted: Wed Jun 6 13:43:00 1984 Date-Received: Sun, 10-Jun-84 01:30:06 EDT References: <5806@mcvax.UUCP> Lines: 31 Nf-ID: #R:mcvax:-580600:ea:5400006:000:1057 Nf-From: ea!mwm Jun 6 12:43:00 1984 #R:mcvax:-580600:ea:5400006:000:1057 ea!mwm Jun 6 12:43:00 1984 /***** ea:net.lang / brl-vgr!ron / 10:26 pm May 31, 1984 */ GAK! What makes you think that BREAK to the n-th power is better than a goto to exit the loop. It certainly is a lot clearer and easier to find the label to which you are breaking, rahter than looking to see how many loops you are in. You just can't count indentation because BREAK exits SWITCH, WHILE, and DO but not other blocks. CONTINUE doesn't exit SWITCHs. As a stated in my previous message, just because you don't use gotos don't think that you are writing structured code. You can do some pretty gross unstructured things even without gotos. -Ron /* ---------- */ Good point. While a one-level break is better than a goto, it isn't clear that "break 23" is better than a goto. How about combining them the way BCPL does, as: $(block-name break block-name $)block-name In other words, label the blocks, and break