[SIGCIS-Members] Origins of "clean" code

MikeWillegal mike at willegal.net
Fri Sep 3 17:22:08 PDT 2021

I would suggest you review the many meanings of clean in a dictionary.  Among them included in Merriam-Webster.com <http://merriam-webster.com/> are …

1 b. free from contamination or disease
6 a. relatively free from error or blemish
7 a. characterized by clarity and precision

So I would suggest that regardless of the origin of usage of the word clean in computer science, this adjective is, in fact, quite useful and appropriate.  Of course, there are probably more cases than not where it could be argued whether a particular piece of code is clean or not.  If there is a disagreement between observers, the substitution of a different adjective is not likely to change anybody’s opinion.

Mike Willegal

> On Sep 3, 2021, at 3:19 PM, Azhar Desai <mail at azh-r.com> wrote:
> 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.
> Best,
> Az
> [1] https://www.wireguard.com/papers/wireguard.pdf
> [2] https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF
> _______________________________________________
> This email is relayed from members at sigcis.org, the email discussion list of SHOT SIGCIS. Opinions expressed here are those of the member posting and are not reviewed, edited, or endorsed by SIGCIS. The list archives are at http://lists.sigcis.org/pipermail/members-sigcis.org/ and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sigcis.org/pipermail/members-sigcis.org/attachments/20210903/4a38bb61/attachment.html>

More information about the Members mailing list