Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: Notesfiles; site ea.UUCP Path: utzoo!watmath!clyde!floyd!vax135!houxz!houxm!ihnp4!inuxc!pur-ee!uiucdcs!ea!mwm From: mwm@ea.UUCP Newsgroups: net.lang Subject: Re: Re: Gotos; tail-recursion - (nf) Message-ID: <5400009@ea.UUCP> Date: Sun, 17-Jun-84 21:59:00 EDT Article-I.D.: ea.5400009 Posted: Sun Jun 17 21:59:00 1984 Date-Received: Thu, 21-Jun-84 06:07:42 EDT References: <1986@mit-eddi.UUCP> Lines: 24 Nf-ID: #R:mit-eddi:-198600:ea:5400009:000:982 Nf-From: ea!mwm Jun 17 20:59:00 1984 #R:mit-eddi:-198600:ea:5400009:000:982 ea!mwm Jun 17 20:59:00 1984 /***** ea:net.lang / denelcor!neal / 10:19 am Jun 13, 1984 */ > There are *no* bad language constructs, merely bad uses for them. For this reason, I consider language constructs (or any other environmental features) "bad", or at least "attractive nuisances", if they make it easy to develop a program but hard to maintain it. Neal Weidenhofer /* ---------- */ I don't see any contradiction in this. A claim a construct is good if it makes it easier for me to code an algorithm; meaning that it is close to the way I think of the algorithm. You claim an construct is bad if it makes a program easy to develop but hard to maintain. By my definition of "easy to develop", there should be no such constructs. A construct that is close to the way you think about an algorithm should be both easy to develop and maintain, and one that is hard to maintain should be (in some sense) far from the way you think of the algorithm, hence it should make developing code harder.