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,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,9ca52c8981c1b86a X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,UTF8 Path: g2news2.google.com!news3.google.com!feeder.news-service.com!94.75.214.39.MISMATCH!aioe.org!.POSTED!not-for-mail From: =?utf-8?Q?Yannick_Duch=C3=AAne_=28Hibou57?= =?utf-8?Q?=29?= Newsgroups: comp.lang.ada Subject: Re: One other possible reason for the C predominance Date: Tue, 22 Mar 2011 15:05:52 +0100 Organization: Ada @ Home Message-ID: References: NNTP-Posting-Host: XQBzyQfeBLgc2RJf6Vcdrg.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: Quoted-Printable X-Complaints-To: abuse@aioe.org User-Agent: Opera Mail/11.01 (Linux) X-Notice: Filtered by postfilter v. 0.8.2 Xref: g2news2.google.com comp.lang.ada:19334 Date: 2011-03-22T15:05:52+01:00 List-Id: Le Tue, 22 Mar 2011 14:09:01 +0100, Ludovic Brenta = a =C3=A9crit: > So in essence, C survived and thrived because it provided a layer of > abstraction that was not locked to contemporary hardware. Big deal. > Lisp, Pascal and Ada did and still do the same (better, actually). These ones was not evaluated as such, for reasons this part of the histo= ry = does not explain. The excerpt makes me think about something else. You may have noticed it= = says since C raised, many of the investigations in platforms and hardwar= e = designed stopped : =E2=80=9CIt is not a coincidence that the experimental era in compute= r architectures ended in the mid-1980s at the same time that C=E2=80=9D= [quoted from the above link] So C, as language, became something to which architectures adapted, = instead of the opposite. 1) This means C was finally never proved to be = = good at expressing these layers 2) This means C was finally a precursor = of = the virtual-machines + abstract virtual-machines-dedicated-languages fev= er = we actually have. There is a trouble with that : at runtime, you are most likely to have = only one architecture, while you may have applications designed in = multiple language at a time, running on one architecture. C was not designed with that in mind, this was not on purpose, but this = = may had an effect helping to drive =E2=80=9Cthe world=E2=80=9D this way.= > I don't think that was the driving factor for the dominance of C. The= > driving factors were: (1) ease of implementation; (2) availability of > no-cost, open source compilers that came with UNIX; and (3) bad > judgment by programmers who used C outside its intended application > domain (i.e. programmed entire applications instead of low-level OS > kernels and utilities). The latter, about abuse, is still true (with scripted languages used out= = of their scope). > Lisp failed to thrive because it is not easy to implement well (it > needs garbage collection, generics, tail call optimization, a large > library, an efficient virtual machine, etc.) and Ada because it lacked= > both ease of implementation and no-cost compilers. Plausible > Pascal had both ingredients but still lost to C because its standard > library was less versatile. And because of its use of bounded-length > strings, perhaps. Bounded string length could be solved with dedicated objects (for Pascal= = Object) or even procedural libraries. I believe this was due to its = learning language reputation. And may be because it was too much clean a= nd = easy (remember these =E2=80=9Creal men program in C=E2=80=9D and =E2=80=9C= Pascal is a language for = babies=E2=80=9D). -- = Si les chats miaulent et font autant de vocalises bizarres, c=E2=80=99es= t pas pour = les chiens. =E2=80=9C c++; /* this makes c bigger but returns the old value */ =E2=80= =9D [Anonymous]