[TUHS] History of popularity of C

Larry McVoy lm at mcvoy.com
Fri May 22 02:30:42 AEST 2020


On Thu, May 21, 2020 at 12:10:35PM -0400, Toby Thain wrote:
> On 2020-05-21 11:27 AM, Tyler Adams wrote:
> > Does anybody have any good resources on the history of the popularity of
> > C? I'm looking for data to resolve a claim that C is so prolific and
> > influential because it's so easy to write a C compiler.
> > 
> > Tyler
> 
> Based on recollections of C from mid-1980s until today, this claim
> doesn't make sense for several reasons. Sorry, this is all anecdata or
> recollection, not cited data:
> 
> - inexpensive compiler availability was not very good until ~1990 or
> later, but C had been taking off like wildfire for 10 years before that
> 
> - developing good compilers is certainly not "easy" - and there were a
> lot of mediocre vendor compilers despite (duplicated) investment
> 
> - by the time gcc was mature (by some definition, but probably before
> 1990) - something that happened largely as a reaction to the vendor
> compiler situation - it was a large and complicated codebase even by
> standards of the time
> 
> - hobby/novelty/small/educational compilers are a relatively new thing
> and arrived long after the C adoption curve was complete. The earliest
> well known example I can think of is lcc (1994) but most are much newer.
> 
> ...and probably quite a few other points.

This matches my memory as well.  I think I learned C in 1983 or 84,
it just worked.  To me it felt like it was PDP-11 assembler only nicer.
The thing I liked about C is that you always felt like you were right
on the metal, it didn't hide the fact that there was a computer under
it.  Very different feel from, say, Pascal.  I think the fact that you
could feel the machine under the language had a lot to do with it taking
off.

And what Toby said about compilers, oh, man, so true.  Once you got out
in the real world, gcc was buggy and slow, companies wanted to charge
you at every step of the way for compilers that were marginally better
than gcc at best.  When gcc finally got good enough, I agree, around
1990 or so, it was a relief.  You just used it and ignored the platform
specific ones.  G++ took a long time to be good enough.


More information about the TUHS mailing list