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,463c5796782db6d8 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-04-11 06:31:05 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-03!sn-xit-01!sn-xit-08!supernews.com!news.airnews.net!cabal12.airnews.net!usenet From: "John R. Strohm" Newsgroups: comp.lang.ada Subject: Re: [Spark] Arrays of Strings Date: Fri, 11 Apr 2003 08:19:43 -0500 Organization: Airnews.net! at Internet America Message-ID: <54F8CD091AF44543.C62D3F94D086FE15.8E3F43FBA1FD34CE@lp.airnews.net> X-Orig-Message-ID: References: <1ec946d1.0304090942.3106b4e4@posting.google.com> <1ec946d1.0304100609.52b0fac0@posting.google.com> <1049986095.779228@master.nyc.kbcfp.com> <3e966fc9$1@baen1673807.greenlnk.net> Abuse-Reports-To: abuse at airmail.net to report improper postings NNTP-Proxy-Relay: library2.airnews.net NNTP-Posting-Time: Fri Apr 11 08:29:30 2003 NNTP-Posting-Host: ![l>?1k-WQkE6_> (Encoded at Airnews!) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1106 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 Xref: archiver1.google.com comp.lang.ada:36090 Date: 2003-04-11T08:19:43-05:00 List-Id: "Marin David Condic" wrote in message news:b76b3a$slo$1@slb9.atl.mindspring.net... > I can agree with Hyman's point to some extent. Trying to eliminate all > possible sources of errors via language design is not going to work and only > succeeds in making the language less useful in solving problems. (Sort of > like trying to teach a pig to dance - it doesn't work and only succeeds in > annoying the pig. :-) There isn't really any substitute for solid design and > rigorous testing if you want a stable, reliable end product. A "safe" > language can lead developers to find ugly, difficult ways around the safety > features in order to get what the designers wanted out of the system. "Testing cannot be used to show the absence of errors, only their resence." --Edsger W. Dijkstra Yes, you can force some ugly and difficult workarounds for lack of e.g. pointers and GOTO statements. HOWEVER, no matter how ugly and difficult those workarounds may be, they are known to be SAFE. The simple, easy-to-use constructs they replaced were NOT SAFE. Secondly, the presence of those ugly, difficult workarounds draws the maintenance programmer's eye, alerting him that there are demons and tygers lurking hereabouts. This is PRECISELY why Ada made the GOTO label syntax INCREDIBLY ugly: they were required by the customer to provide a GOTO statement, but they could, and did, warn against its use.