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: Gotos; tail-recursion - (nf) Message-ID: <5400010@ea.UUCP> Date: Mon, 25-Jun-84 16:34:00 EDT Article-I.D.: ea.5400010 Posted: Mon Jun 25 16:34:00 1984 Date-Received: Thu, 28-Jun-84 04:54:35 EDT References: <1986@mit-eddi.UUCP> Lines: 26 Nf-ID: #R:mit-eddi:-198600:ea:5400010:000:831 Nf-From: ea!mwm Jun 25 15:34:00 1984 #R:mit-eddi:-198600:ea:5400010:000:831 ea!mwm Jun 25 15:34:00 1984 /***** ea:net.lang / iuvax!cjl / 5:13 am Jun 21, 1984 */ > There are *no* bad language constructs, merely bad uses for them. I shall give some counter examples : C.J.Lo cjl@Indiana@CSNet-Relay /* ---------- */ You gave some good counterexamples of bad language design: constructs were taken out (goto from Modula-II, flexibility in data declarations in Pascal), resulting in bad things happening. These aren't cases of bad language constructs, these are cases of languages forcing bad useage of language constructs. I will retract my earlier statement, as I have since been reminded of a bad language construct: [Those of you with weak stomachs should stop reading now!!!] the thrice-damned FORTRAN arithmetic IF. Since any use of this construct is a bad use, I can only conclude that it's a bad language construct.