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,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-04-23 10:58:10 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!cyclone.bc.net!newsfeed.telusplanet.net!rip!news.webusenet.com!cox.net!news-hub.cableinet.net!blueyonder!internal-news-hub.cableinet.net!news-binary.blueyonder.co.uk.POSTED!53ab2750!not-for-mail User-Agent: Microsoft-Entourage/10.1.1.2418 Subject: Re: the Ada mandate, and why it collapsed and died (was): 64 bit addressing and OOP From: Bill Findlay Newsgroups: comp.lang.ada Message-ID: References: <9fa75d42.0302250710.5549baaf@posting.google.com> <3E5C7033.BD5DC462@adaworks.com> <9fa75d42.0302260618.7506cba7@posting.google.com> <3E5CF5C6.84822F57@adaworks.com> <8qkczsAcGcn+Ew83@nildram.co.uk> <3EA04A1E.CAFC1FEF@adaworks.com> <9fa75d42.0304221126.7112b7d5@posting.google.com> <9fa75d42.0304230439.55d28e70@posting.google.com> Mime-version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-transfer-encoding: 7bit Date: Wed, 23 Apr 2003 18:57:15 +0100 NNTP-Posting-Host: 80.195.75.181 X-Complaints-To: abuse@blueyonder.co.uk X-Trace: news-binary.blueyonder.co.uk 1051120689 80.195.75.181 (Wed, 23 Apr 2003 17:58:09 GMT) NNTP-Posting-Date: Wed, 23 Apr 2003 17:58:09 GMT Organization: blueyonder (post doesn't reflect views of blueyonder) Xref: archiver1.google.com comp.lang.ada:36426 Date: 2003-04-23T18:57:15+01:00 List-Id: On 23/4/03 13:39, in article 9fa75d42.0304230439.55d28e70@posting.google.com, "soft-eng" wrote: ... > > Any itsy-bitsy feature *will* be found wonderful by somebody. > That's exactly the problem -- because there were so > many itsy-bitsy features in Ada, a novice needed to > learn all of them, because somebody somewhere finds > it useful and it will be found in real-world code. Novices in Ada, even programming novices learning through Ada, do not need (note, present tense) to deal with any language features apart from those that support the programming concepts they are currently learning. It is the experience of those who are teaching large numbers of novices (400-500 per year) that they do better in Ada than in any previous language of instruction. That includes Pascal, which was designed for teaching. > Having tons of features in auxiliary libraries > in the "C" style make mastering the language much simpler > by chunking the task of learning without complicating > the syntax issues. And don't novices in C have to spend time learning about itsy-bitsy libraries because somebody somewhere depends on them in 'real-world' code? > But having them directly in the language itself makes > just learning the basic language unnecessarily harder. Syntax is (almost) completely irrelevant to learning programming or a programming language, except insofar as a language actively undermines the student's confidence by virtue of error-prone inconsistencies. > And the trouble is, you don't get anything really > worthwhile out of all the time you spend on > mastering all that syntax. You would have > been better off mastering concepts instead. You *do* get something that is very worthwhile for a minor investment in learning a very consistent and robust syntactic framework. What you get is compiler assistance with the much more difficult and important issues of semantics. Providing useful semantics via well-defined, built-in language features makes those semantics accessible to the compiler, which can exploit them to benefit the efficiency and the reliability of the object program. No compiler can do this effectively with external library code, or with programmer-constructed equivalents of Ada's built-in high level features. I mention, at random: machine-independent integer types, for loops that always terminate, secure dynamic arrays (including strings), secure variant records, exceptions, tasks, automatic mutual exclusion ... -- Bill-Findlay chez blue-yonder.co.uk ("-" => "")