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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a1ce307c10055549 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-12-16 11:37:20 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!sn-xit-03!sn-xit-06!sn-xit-08!supernews.com!news.airnews.net!cabal12.airnews.net!usenet From: "John R. Strohm" Newsgroups: comp.lang.ada Subject: Re: IBM Acquires Rational Ada Date: Mon, 16 Dec 2002 13:27:20 -0600 Organization: Airnews.net! at Internet America Message-ID: X-Orig-Message-ID: References: <1039717990.240969@master.nyc.kbcfp.com> X-A-Notice: References line has been trimmed due to 512 byte limitation Abuse-Reports-To: abuse at airmail.net to report improper postings NNTP-Proxy-Relay: library2.airnews.net NNTP-Posting-Time: Mon Dec 16 13:35:13 2002 NNTP-Posting-Host: !dG/"1k-X?oF6,6 (Encoded at Airnews!) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Xref: archiver1.google.com comp.lang.ada:31911 Date: 2002-12-16T13:27:20-06:00 List-Id: "Hyman Rosen" wrote in message news:1039717990.240969@master.nyc.kbcfp.com... > Fraser Wilson wrote: > > Not quite as concise as Integer'Image (X)! > > Or sprintf(buf, "%u", u), for that matter. > The code was illustrative of the kind of manipulation > that C was intended to facilitate. Not getting in the > way of the programmer was a major design goal. Sorry. That is a popular misconception. C was intended to be a high-level assembler for the PDP-11, that would be easy to translate into concise machine code. That is where the ++ and -- operators originally came from. Specifically, Kernighan and Ritchie wanted to be able to use the indirect predecrement and indirect postincrement addressing modes of the PDP-11, which C expresses as *--var and *var++, so they hardwired them into the language. Yes, the language did have to stay out of the programmer's way, but that was not an explicit design goal. Experience since then has shown, conclusively, that "staying out of the way of the programmer" is not necessarily a good idea. C takes the philosophy that, because 0.01% of the time the programmer is correct in wanting to do something, the language should allow him to do it easily 100% of the time, EVEN THOUGH IT IS A HORRIBLE MISTAKE 99.99% of the time. Ada, on the other hand, takes the attitude that it should be ugly as hell to do that thing, so that 99.99% of the time the programmer won't do it, and, on that 0.01% where he really means it, he has to work for it and everyone reading the code three years later knows he is doing something unusual. Unusual things, with interesting, subtle effects, should advertise themselves to novice programmers. It is like the notation on the old maps, "Here Be Tygers".