From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.3 required=5.0 tests=BAYES_00,INVALID_MSGID, PLING_QUERY,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 107f24,6f06494ba2769a05,start X-Google-Attributes: gid107f24,public X-Google-Thread: 10c09d,6f06494ba2769a05,start X-Google-Attributes: gid10c09d,public X-Google-Thread: 103376,e0afec3ed133afd9 X-Google-Attributes: gid103376,public From: Jan Galkowski Subject: Fanaticism [was Re: Enumerations and Arrays Unnecessary!???] Date: 1997/06/16 Message-ID: <5o4ica$399$1@goldenapple.srv.cs.cmu.edu>#1/1 X-Deja-AN: 248973299 Distribution: world References: <33A16AC0.1BA4@calvin.cca.rockwell.com> Organization: Digicomp Research Corporation Reply-To: Jan Galkowski Newsgroups: comp.lang.ada,comp.lang.functional,comp.lang.ml Originator: rowan@VIXEN.FOX.CS.CMU.EDU Date: 1997-06-16T00:00:00+00:00 List-Id: Robert Dewar wrote: > > JR Crosmer says [snip] > > Whenever a new idea comes along in the software world, it seems to attract > a bunch of fanatics who get so enthusiastic about the approach that they > decide that using any other technique is completely unacceptable. Some > examples are > > Never write a program without proving it correct > > Use only referentially pure functional languages > Ah, alas, at last, we fanatics we get into the picture! [snip] > And now, use only object oriented design. > > A good rule is to take ALL advice from such fanatics with a huge grain of > salt. What experience shows is that software is complex, and we need all > the useful tools and techniques we can find, and we need to learn how to > choose the right ones for the right job, and how to make them work together. While this is most definitely true and the rule today, it is so because the methods of proving programs correct or, rather, the methods of constructing correct programs from scratch are new, not well developed, and the means of teaching them and applying them are very crude. Therefore, I surmise that someday the rather hobbyist approach to development and programming we see today will be less the rule, and low-level design will become more a matter of rote execution than inspired. This means that there will be less reliance upon the truly gifted and "heroes" than there is today. This opinion is totally unprovable, of course. I can only cite plausible arugments and interesting historial aphorisms, such as the one by (Harlan) Mills that touch-typing was a skill needed for the proper use and appreciation of typewriters, the latter languishing for much of the 19th century, even among the most influential in society, because this crucial skill was not widely taught or appreciated. It is, IMO, in the interest of business to make expensive programming skills as widespread and mundane as possible, even though this is very difficult today. > > Sometimes these fanatics give me an image of a salesman who comes along and > says "I have this wonderful new plumbing tool, it will do everything, and > you can have it free. The only catch is, you have to give me all your other > tools, and promise to use only this wonderful new tool from now on." > But tools for programming are rather more like each other than screwdrivers and hammers. (Hackers, of course, disagree with this vehemently. For them, programming is the bag of hacks bit.) Moreover, it is the purpose of most schooling to teach the technologies of ten years hence, so it will be most useful to their customers, and so they are not stuck in the muck of the practical and the everyday. Yes, that is the art, but it can be and usually is learned by apprenticeship, not schooling. So, it is a mistake, IMO, to not take these "pie in the sky" technologies seriously enough, perhaps even a worse sin than taking them too seriously. [snip] > Robert Dewar > [snip] -- Jan Theodore Galkowski, developer, statistician, true confessions | V CONSTRUCTIVE ALGORITHMICS AND ICON FANATIC, ******** Digicomp Research Corporation, Ithaca, NY 14850-5720 jan@digicomp.com (also jtgalkowski@worldnet.att.net)