[SIGCIS-Members] Origins of "clean" code

Jean Graham jean.graham at stonybrook.edu
Sat Sep 4 09:41:35 PDT 2021


Great discussion. I have also found the anthropologist Mary Douglas's 1966
book "Purity and Danger" to be helpful for thinking about the concept of
cleanliness.

On Sat, Sep 4, 2021 at 12:38 PM David Grier <grier at email.gwu.edu> wrote:

> Couple thoughts.  First, the high performance computing community was
> fixated with the concept of the “Dusty Deck" in the 1970s.  The concept
> referred to a program, written in Fortran, that was optimized for an
> architecture, by then obsolete.  (Usually an IBM 7090 or CDC 6400 or in a
> few rare cases, the Illiac IV). The vendors of the 1970s were intent on
> showing that their products could take these programs and run them
> efficiently on the contemporaneous hardware, usually the Cray 1 or XMP.
> David Kuck at Illinois. was at the center of this activity, as his
> compliers were part of this discussion.  He is still around and you might
> try to contact him.
>
> This would raise the question of the role of compliers in defining the
> concept of cleanliness.  John Backus wrote extensively about how Fortran
> succeeded as a language because of the quality of the code it produced.  I
> don’t have any of his piecers in front of me, but I am suspicious that he
> used the word “clean” in describing the output code.  It certainly would be
> worthwhile to check his work.
>
> Simultaneously, it would be worthwhile to check the Algol discussions at
> the end of the 50s.  There was a substantial debate over almost every
> aspect of the language, including the quality of intermediate and output
> code.  There is a smattering of the discussion in the issues of the CACM.
> A better sense of the discussions is found in Naur’s Algol Bulletin.
>
> On Sep 4, 2021, at 8:53 AM, Rachel Plotnick <
> rachelplotnick2012 at u.northwestern.edu> wrote:
>
> 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
>
>
> 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
>
> On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <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
>>
>> 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> wrote:
>>
>> 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.
>>
>> regards,
>> Mike Willegal
>>
>> On Sep 3, 2021, at 3:19 PM, Azhar Desai <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
>> [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
>>
>>
>> _______________________________________________
>> 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
>>
>> _______________________________________________
>> 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
>
>
>
> --
> Rachel Plotnick, PhD
> Media, Technology and Society Program
> Northwestern University
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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/20210904/906d6af6/attachment.html>


More information about the Members mailing list