comp.lang.ada
 help / color / mirror / Atom feed
From: "Yannick Duchêne (Hibou57)" <yannick_duchene@yahoo.fr>
Subject: Re: One other possible reason for the C predominance
Date: Tue, 22 Mar 2011 15:05:52 +0100
Date: 2011-03-22T15:05:52+01:00	[thread overview]
Message-ID: <op.vsqz32ufule2fv@index.ici> (raw)
In-Reply-To: c6b75a32-a925-4f12-9e40-d9bc892a6055@d28g2000yqc.googlegroups.com

Le Tue, 22 Mar 2011 14:09:01 +0100, Ludovic Brenta  
<ludovic@ludovic-brenta.org> a écrit:
> 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 history  
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 hardware  
designed stopped :

   “It is not a coincidence that the experimental era in computer
    architectures ended in the mid-1980s at the same time that C”
    [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 fever  
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 “the world” 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 and  
easy (remember these “real men program in C” and “Pascal is a language for  
babies”).


-- 
Si les chats miaulent et font autant de vocalises bizarres, c’est pas pour  
les chiens.
“ c++; /* this makes c bigger but returns the old value */ ” [Anonymous]



  reply	other threads:[~2011-03-22 14:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-21 22:36 One other possible reason for the C predominance Yannick Duchêne (Hibou57)
2011-03-22 13:09 ` Ludovic Brenta
2011-03-22 14:05   ` Yannick Duchêne (Hibou57) [this message]
2011-03-22 15:12     ` Ludovic Brenta
2011-03-22 15:36       ` Yannick Duchêne (Hibou57)
2011-03-22 20:19       ` Keith Thompson
2011-03-22 21:54         ` Robert A Duff
2011-03-22 14:56 ` Hoàng Đình Long
2011-03-22 15:06 ` Hoàng Đình Long
     [not found] ` <4af234a8-2294-4e0e-a741-ea7dced2ae62@b22g2000prb.googlegroups.com>
2011-03-22 15:34   ` Yannick Duchêne (Hibou57)
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox