Xref: utzoo comp.os.misc:326 comp.unix.wizards:5589 Path: utzoo!utgpu!water!watmath!clyde!rutgers!husc6!cca!g-rh From: g-rh@cca.CCA.COM (Richard Harter) Newsgroups: comp.os.misc,comp.unix.wizards Subject: Re: How much hair? (was "Command interfaces") Message-ID: <22313@cca.CCA.COM> Date: 10 Dec 87 23:45:55 GMT References: <1257@boulder.Colorado.EDU> <6840002@hpcllmv.HP.COM> <9555@mimsy.UUCP> <5565@oberon.USC.EDU> <9679@mimsy.UUCP> <22244@cca.CCA.COM> <2805@zeus.TEK.COM> Reply-To: g-rh@CCA.CCA.COM.UUCP (Richard Harter) Organization: Computer Corp. of America, Cambridge, MA Lines: 59 In article <2805@zeus.TEK.COM> bobr@zeus.UUCP (Robert Reed) writes: >In article <22244@cca.CCA.COM> g-rh@CCA.CCA.COM.UUCP (Richard Harter) writes: > > 'seems to desired only rarely' is a red flag. Within a particular language > one very tends to do that which can be done easily within the language. > For example, FORTRAN has no natural mechanism for recursion. One can do > recursion in FORTRAN, albeit painfully. Is it any surprise that FORTRAN > programmers rarely find a need for recursion? The same holds true of > command languages as well -- if a particular approach cannot be > implemented readily in a command language, then it won't be used. > >It seems that you've never tried writing a quicksort or any tree traversal >methods in FORTRAN. I've done both, and can attest to the inaccuracy of >your statement: > > Is it any surprise that FORTRAN programmers rarely find a need for > recursion? > As a side note, it happens that I have implemented quicksort and tree traversal methods in FORTRAN. I have even done things in FORTRAN that are hard to do. (Simple recursion in FORTRAN is not hard -- it is merely tedious and prone to error.) More to the point is that I think you have missed the point of what I was saying. Let us return to the FORTRAN programmer for a moment. If you ask a typical FORTRAN programmer if recursion is important, the answer is very likely to be "no". (I acquit you of being a typical FORTRAN programmer.) And, for him, he is right -- recursion is an unimportant theorectical novelty with no real practical use. How can he say this, you ask? Very simple, he is wearing blinders induced by the language he uses. He doesn't use recursion, and he doesn't think of using recursion, because it is not part of his natural lexicon. Recursion becomes something that is done only if there is compelling need for it. You go on to say: >You also seem to be confusing goals with methods. No, what I am saying is that goals are conditioned by methods. More particularly, subgoals are conditioned by methods. If a particular methodology is difficult in a particular language, then one does not use it as a regular thing. If X is not easy to do, then one doesn't try to do X. If you never do X, then X can't be very important to do. Note that I am not saying that this line of reasoning is correct -- merely that this is the natural tendency. A statement that X can be done easily in Primos (clearly false, nothing can be done easily in Primos) and not easily in sh, but that it doesn't matter because X hardly ever needs to be done, is suspect if it comes from someone who only uses sh. The user of sh may never see a need for doing X, because he doesn't think of doing X. If one wants to evaluate X as a tool, one should talk to the people for whom it is easy. You may find that they don't use it much either. You may find that they use it all of the time but that it is a workaround for something that could be done more naturally in another language. Or you may find that they use it all of the time and that it is a useful concept that is missing from your lexicon of concepts and tools. -- In the fields of Hell where the grass grows high Are the graves of dreams allowed to die. Richard Harter, SMDS Inc.