Awesome, looks like my theory was completely wrong. Here's what it looks like to me, please correct me as needed.

C's popularity has 2 distinct phases.

1972-1987 Unix drove C. Writing a functional PCC for a particular architecture was easy, but not unusually so compared to other languages at the time.

1987- gcc made C uniquely free to compile, so people chose to write C because it was free and already popular. 

Perl also came out in 1987, and afaik that was always free, but C still took off because there was so much room for multiple languages.

So, now Im curious about embedded systems. In my limited experience, every "embedded system" I programmed for from 2002-2011 had C as its primary language. After 2011, I stopped programming embedded systems, so I don't know after that. Why was C so dominant in this space? Is it because adding a backend to gcc was free, C was already well known, and C was sufficiently performant?


On Fri, May 22, 2020, 11:53 Tom Ivar Helbekkmo <> wrote:
Noel Chiappa <> writes:

> I suspect the real reason for C's sucess was the nature of the language.
> When I first saw it (ca. 1976), it struck me as a quantum improvement over
> its contemporaries.

Paul Graham expressed it like this:

"It seems to me that there have been two really clean, consistent
models of programming so far: the C model and the Lisp model. These
two seem points of high ground, with swampy lowlands between them."

Most people who graduate with CS degrees don't understand the significance
of Lisp.  Lisp is the most important idea in computer science.  --Alan Kay