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?

Tyler


On Fri, May 22, 2020, 11:53 Tom Ivar Helbekkmo <tih@hamartun.priv.no> wrote:
Noel Chiappa <jnc@mercury.lcs.mit.edu> 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."

-tih
--
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