[SIGCIS-Members] Origins of "clean" code

Azhar Desai mail at azh-r.com
Fri Sep 3 12:19:07 PDT 2021


I'm a software engineer,  who reads & relies some of your work, to help make sense of working in the astonishingly ahistorical tech sector - so thank you!

I'm interested in the origins of the word "clean" in software design. In conversations about software, people might often prefer some code over another, arguing that it's "cleaner". An example from a 2020 paper on the implementation of a VPN in Linux:

> While the Linux kernel’s crypto API has a large collection of primitives... ultimately, using raw primitives with direct, non-abstracted APIs proved to be far cleaner [1] 

The most famous example is the eponymously titled book "Clean Code" (2008) which proposes snippets of code that are ostensibly always preferred.

Does anyone know where I might find out how the word "clean" came to be used like this in software? My reasons for asking are somewhat impure: I'm trying to discourage this not very meaningful word in favour of more precise language.

One of the earliest uses I've seen of "clean" is in one of Djikstra's notes from 1974 [2] on a design for arrays in response to how ALGOL 60 had it. [2] But I have no idea if it was in common use then, or had always been in the development of programming languages at least. I'd love to hear any thoughts.


[1] https://www.wireguard.com/papers/wireguard.pdf
[2] https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF

More information about the Members mailing list