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: 11232c,59ec73856b699922 X-Google-Attributes: gid11232c,public X-Google-Thread: 103376,583275b6950bf4e6 X-Google-Attributes: gid103376,public X-Google-Thread: fdb77,5f529c91be2ac930 X-Google-Attributes: gidfdb77,public X-Google-Thread: 1108a1,59ec73856b699922 X-Google-Attributes: gid1108a1,public X-Google-ArrivalTime: 2003-04-23 11:38:52 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!logbridge.uoregon.edu!hammer.uoregon.edu!enews.sgi.com!sdd.hp.com!ihnp4.ucsd.edu!news.ucsd.edu!not-for-mail From: Dr Chaos Newsgroups: comp.lang.java.advocacy,comp.object,comp.lang.ada,misc.misc Subject: Re: the Ada mandate, and why it collapsed and died (was): 64 bit addressing and OOP Followup-To: comp.lang.java.advocacy Date: Wed, 23 Apr 2003 18:38:49 +0000 (UTC) Organization: Univ of Calif San Diego 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> NNTP-Posting-Host: lyapunov.ucsd.edu X-Trace: news1.ucsd.edu 1051123129 29066 132.239.222.85 (23 Apr 2003 18:38:49 GMT) X-Complaints-To: usenet@news1.ucsd.edu NNTP-Posting-Date: Wed, 23 Apr 2003 18:38:49 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux) Xref: archiver1.google.com comp.lang.java.advocacy:62570 comp.object:61712 comp.lang.ada:36428 misc.misc:13613 Date: 2003-04-23T18:38:49+00:00 List-Id: On 23 Apr 2003 05:39:04 -0700, soft-eng wrote: > "Chad R. Meiners" wrote in message news:... >> "soft-eng" wrote in message >> news:9fa75d42.0304221126.7112b7d5@posting.google.com... >> > Take something trivial, e.g. string slicing. >> > Not a terribly useful feature, but not entirely >> > useless either. >> >> Array slicing is a wonderfully useful feature. I use this feature in almost >> every program of mine. > > 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. > > 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. > > But having them directly in the language itself makes > just learning the basic language unnecessarily harder. > 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. It's not just syntax---which in Ada and similar languages (Eiffel) is quite easy versus C and C++---but the semantical concepts. There's no substantial difference for a novice between learning new language features, new concepts, and new libraries. There's a certain quantity of knowledge necessary to learn. The choice of what goes in a library and what is "in a language" is important intellectually primarily to the more expert language designers and implementors. Once both a base language and libraries are assumed the precise point of division has little substantial effect for typical programming tasks: you have to know a both. If the goal is truly a minimal "core" language, then C is only barely a contender (and C++ laughable)---Smalltalk and Lisp are the obvious endpoints there. They're great languages, but in design very substantially different from C or C++ or Ada. What I find bizzare and remarkable is the consistent assumption by many others (especially those that don't use languages like Ada, Eiffel and post F77 Fortran) that "C" and "C++" are almost-by-default, the "correct" choice not just economically but in engineering quality. There's nothing kashrut about them there.