[SIGCIS-Members] Origins of "clean" code

Ceruzzi, Paul CeruzziP at si.edu
Sat Sep 4 06:19:41 PDT 2021


A couple of random observations:

Microsoft's MS-DOS operating system for the IBM PC was based on Seattle Computer Products "86-DOS," written for the Intel 8086 platform. SCP internally called it "QDOS" for "Quick and Dirty Operating System."

At the Second History of Programming Languages conference, I recall Fred Brooks describing a system as a "clean machine," but I can't recall what he was referring to! Not sure whether he was aware of, or deliberately referring to, the line from the Beatles' "Penny Lane" (the Beatles were describing a fire engine).  In the lull between responding to calls, firefighters spend a lot of time keeping their equipment clean and in tip-top shape.

I believe that the "clean room" was first developed in the early 1960s at the Sandia National Laboratories in Albuquerque, for assembly of atomic weapons. But there may be earlier examples. (Reference: Electronics​, February 4, 1985, p. 38)

Best,

Paul Ceruzzi
A New History of Modern Computing​, MIT Press,  forthcoming

________________________________
From: Members <members-bounces at lists.sigcis.org> on behalf of Rachel Plotnick <rachelplotnick2012 at u.northwestern.edu>
Sent: Saturday, September 4, 2021 8:53 AM
To: Ben Peters <bjpeters at gmail.com>
Cc: Sigcis <members at sigcis.org>
Subject: Re: [SIGCIS-Members] Origins of "clean" code


External Email - Exercise Caution

Hi all,

I've been working on the question of cleanliness in computing for the past couple of years - and am now contextualizing it in a larger project on cleanliness and media technologies. I don't have a specific answer on the origin of "clean code," but my initial thought is that it fits into a much broader discourse about the ways that we talk about things being "clean" or "dirty" as a metaphor or skeuomorph in so many technological contexts. In the running list I've been keeping specifically for computing, I've documented:


Clean install

Clean design

Clean copy

Clean room (physical and coding)

Clean code

Clean images

Clean interface

Clean the registry

Disk Clean Up

Dirty data

Dirty PC (not vetted to be virus-free)

Dirty download/dirty files

Digital janitors

Trash and recycling bin icons

Computer virus

Clean desktop/clutter

Zero inbox


And there are likely many more examples. I'm also looking at how questions of physical cleaning - of monitors, mouse, keyboard, desk, hard drive, disks - also take on great importance in computing. Some of my recent interest has been in the ways that clean room language came into conflict with computer rooms and then multi-purpose offices by challenging what human-machine hygiene meant. I've published a chapter in an edited volume, Computer Architectures, that provides some preliminary thoughts: https://www.taylorfrancis.com/chapters/edit/10.4324/9780429264306-7/unclean-human-machine-interface-rachel-plotnick<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.taylorfrancis.com%2Fchapters%2Fedit%2F10.4324%2F9780429264306-7%2Funclean-human-machine-interface-rachel-plotnick&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290048382%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=fu1xlnC2RqnXhOFpF6JakDzQvbZSECvZSaGhtVoRKhc%3D&reserved=0>


This is a great question and I'm always happy to talk more about it and hear others' thoughts!


Regards,

Rachel Plotnick

Assistant Professor, Cinema and Media Studies

Indiana University Bloomington

raplotni at iu.edu<mailto:raplotni at iu.edu>

On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters at gmail.com<mailto:bjpeters at gmail.com>> wrote:
The excellent media historian Rachel Plotnick has done at least a talk touching on “clean”:

https://www.blog.shanedenson.com/?p=5027<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.blog.shanedenson.com%2F%3Fp%3D5027&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290058375%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=UT%2BWMe3QIO2V8yTo2iuPwwpLPff6gUHNnebD1cpUimE%3D&reserved=0>

No doubt there are other resources as well,

Ben

Benjaminpeters.org

Sent from my iPhone

On Sep 3, 2021, at 19:24, MikeWillegal <mike at willegal.net<mailto:mike at willegal.net>> wrote:

I would suggest you review the many meanings of clean in a dictionary.  Among them included in Merriam-Webster.com<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmerriam-webster.com%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290058375%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=hObHN9lYIZsqi%2Bld7UqGKeRoizFv3ja1OtoLhUH%2FMao%3D&reserved=0> 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.

regards,
Mike Willegal

On Sep 3, 2021, at 3:19 PM, Azhar Desai <mail at azh-r.com<mailto:mail at azh-r.com>> wrote:

Hi SIGCIS,

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<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.wireguard.com%2Fpapers%2Fwireguard.pdf&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290068370%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=1fbLqxKgfPDxrKJ8%2FL1ZLBvZUkZJC%2FN2acN3YnpuB2c%3D&reserved=0>
[2] https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF<https://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.cs.utexas.edu%2Fusers%2FEWD%2Fewd04xx%2FEWD417.PDF&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290068370%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=5NVnMl4c6vWK8yfR3%2BQdVq2rnJCRa7oZ8Wp1SuneZfE%3D&reserved=0>
_______________________________________________
This email is relayed from members at sigcis.org<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsigcis.org%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290078365%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=GSzgR8J3GYAzEcrHv1B8jzDNSyOyXSN7CoBbhd54nzg%3D&reserved=0>, 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/<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Fpipermail%2Fmembers-sigcis.org%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290078365%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=gbnbNhBL03guIXqEtq6mkFd65nNHJHwuo9ut9sfv4fI%3D&reserved=0> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Flistinfo.cgi%2Fmembers-sigcis.org&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290088359%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=AV4JB9g91FFxBm0eU9yq%2F9fZlnQUgcgIpD979L%2FMOcw%3D&reserved=0>

_______________________________________________
This email is relayed from members at sigcis.org<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsigcis.org%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290088359%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=MPO%2FUD0idTa7kw4dReYLZZXfb49m7YBGbroninLDXhw%3D&reserved=0>, 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/<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Fpipermail%2Fmembers-sigcis.org%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290098354%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=LFkUBpj6jRh%2BIcJvo2Yk7HbeLZHNfAGY%2BK6dlYLfaRg%3D&reserved=0> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Flistinfo.cgi%2Fmembers-sigcis.org&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290098354%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=2QQ0%2BaxX5KC8MKoXpUIX0WvZvvTFNb9WTsSPnEeN924%3D&reserved=0>
_______________________________________________
This email is relayed from members at sigcis.org<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Fsigcis.org%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290098354%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Vfoc7PsMrxsa02uPCioYeqm9SPC4BK6xzNc29ZhBtDE%3D&reserved=0>, 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/<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Fpipermail%2Fmembers-sigcis.org%2F&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290108347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=A0iEkmgCCbnm5Zc83ipLcTNqMD8zbnfW7vdkRxxv6UY%3D&reserved=0> and you can change your subscription options at http://lists.sigcis.org/listinfo.cgi/members-sigcis.org<https://nam02.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.sigcis.org%2Flistinfo.cgi%2Fmembers-sigcis.org&data=04%7C01%7Cceruzzip%40si.edu%7C75a9c03c125b496abc1708d96fa305a1%7C989b5e2a14e44efe93b78cdd5fc5d11c%7C0%7C0%7C637663569290108347%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=RHY3H4I7AdawDgij0hNlD8rLE6XIoz9npLkxtAD1igY%3D&reserved=0>


--
Rachel Plotnick, PhD
Media, Technology and Society Program
Northwestern University
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sigcis.org/pipermail/members-sigcis.org/attachments/20210904/69e1a41d/attachment.html>


More information about the Members mailing list