The Structure of a Programming Language Revolution [pdf]
dreamsongs.com
dreamsongs.com
TL;DR: We can thing of programming languages as "languages" or as "systems". A "system" is a mechanism for making things happen; a "language" is a formal grammar with defined meaning. Around 1990, we shifted from an even mix of thinking of "systems" and "languages", to an environment where "language" dominated the thinking.
My take: This fits into something that I've been thinking recently, that there is a split between computer science and software engineering. Computer scientists think about the formal properties of languages; software engineers use languages to try to do something else. I think that those two ways of viewing programming languages are becoming increasingly irrelevant to each other.