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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,e94a7e4f6f888766 X-Google-Attributes: gid103376,public From: Richard D Riehle Subject: Re: Self-referential types Date: 1999/10/23 Message-ID: <7ut4t2$3pb$1@nntp2.atl.mindspring.net>#1/1 X-Deja-AN: 539734494 References: <7ttb4a$8mq$1@nnrp1.deja.com> <3802f2db_2@news1.prserv.net> <3803B5E3.F96A6DD4@mitre.org> <3803c8bc_2@news1.prserv.net> <3804E7E0.6A0265FB@mitre.org> <38077EB3.E6911567@mitre.org> <380CA5AC.82499FE2@ftw.rsc.raytheon.com> <7um9ji$dor$1@nnrp1.deja.com> <7uq8vo$9gs$1@nntp6.atl.mindspring.net> Organization: MindSpring Enterprises X-Server-Date: 23 Oct 1999 20:13:22 GMT Newsgroups: comp.lang.ada Date: 1999-10-23T20:13:22+00:00 List-Id: In article , Robert A Duff wrote: in response to the following outrageous hyperbole, >Richard D Riehle writes: > >> As usual, we use the kind of tools appropriate for the problem >> space and solution space. I am beginning to think that people who >> make up hard and fast rules for computer programming are people who >> no longer actually write programs. Perhaps they never did. > >Hmm. I had a hand in writing a book that's got thousands of absolutely >hard and fast rules for programming. It's the Ada 95 Reference Manual. >And I still actually write programs. ;-) ;-) Robert, This is not at all the same thing. The formulation of a syntax and semantics for a programming language is not, in my mind, the equivalent of telling a programmer which of those language features to use or not use. I realize that many programmers resent Ada because they feel it does impose too many rules. I would not want to return to Assembler, even though there are fewer language rules. Even so, I still encounter those elitists who would rather program in Assembler because high-order languages are too restrictive. To them, those of us _sissies_ who no longer program in Assembler are not really programmers. The kind of people mentioned in my post are those who thumb through your program and criticize you for having an exit statement in a loop, a use or use type clause in a perfectly safe place, a goto when it is absolutely necessary, or some other construct they read about somewhere in some magazine. For example, when Dijkstra published his famous CACM letter, "Go To Considered Harmful," thousands of programming managers who did not read the article adopted the title as a standard, thereby screwing up millions of lines of COBOL code. COBOL, at that time, was completely inappropriate for structured methods, and attempts to produce structured code resulted in some of the most obfuscated constructs one could imagine. Taking the Ada example. The rules of Ada are certainly strict. That is not a bad thing. It would have been a bad thing if there were no mechanisms for relaxing those strict rules when it was appropriate. One reason Ada is better than Java for lots of things is the ability to relax the rules. So, Robert, even though you were involved in writing a language that has lots of rules, you and others engaged in this effort had the good sense to include capabilities for suspending those rules when the correct solution called for it. Consequently, I would not include you and the other designers of Ada in my outrageous hyperbole. You wrote a language reference manual that said, "These are the default rules. Use them and be safe." Then you added, "These are the workarounds when you need them." Richard Riehle http://www.adaworks.com