Some Were Meant for C

Some Were Meant for C: The Endurance of an Unmanageable Language. Stephen Kell, Computer Laboratory, University of Cambridge. The C language leads a double life: as an application programming language of yesteryear, perpetuated by circumstance, and as a systems programming language which remains a weapon of choice decades after its creation. This essay is a C programmer’s reaction to the call to abandon ship. pdf

While some were meant for sea, in tug-boats ’Round the shore’s knee, (Milling with the sand, and always coming back to land), For others, up above Is all they care to think of, Up there with the birds and clouds, and Words don’t follow. —Tiny Ruins, from “Priest with Balloons”

Over the remainder of the essay, I’ll argue the following points (each in its own section), sharing the theme that we need to think less about languages as discrete abstractions, less hierarchically in general, and more about the systems which embody languages—seeing language implementations as parts of those systems, and not shying away from contextual details associated with implementation concerns and non-portability. Despite this prevailing preference for talking and thinking about languages in a discrete sense, I will also note certain ways in which we have the habit of confusing C’s implementations with the language itself.

.

Socio-technical thinking comes to programming language design. "Safety" is used in the context of programming languages but the analysis very much resonates with resilience engineering.

The song lyrics which inspired the title convey work-as-imagined vs work-as-done.