[SIGCIS-Members] Origins of "clean" code

Azhar Desai mail at azh-r.com
Mon Sep 6 12:57:43 PDT 2021


Thanks so much everyone - this was discussion was incredibly helpful. 
I did not expect so much behind my "little" question! 

Now, I've got plenty to get on with: trying Tom's approach, 
digging into Rachel's book chapter and getting a copy of Kim's
Software–A Technical History when it lands.

Best,
Az

On Mon, 6 Sep 2021, at 08:14, Pierre Mounier-Kuhn wrote:
> A little obvious side-remark: "Clean" refers to the engineering side of 
> computing – including programming. A mathematician's demonstration can 
> be "beautiful" or "elegant" (or not), while an engine or a factory 
> floor can be either clean or soiled with metal flakes and grease… 
> Regards,
> Pierre Mounier-Kuhn
> 
> CNRS, Sorbonne Université & CentraleSupélec
> https://cnrs.academia.edu/PierreMounierKuhn
> http://laboutique.edpsciences.fr/produit/846/9782759818198/Histoire%20illustree%20de%20linformatique
> http://www.rdv-histoire.com/mounier-kuhn-pierre-eric
> 
> 
> ----- Mail original -----
> De: "Brian E Carpenter" <brian.e.carpenter at gmail.com>
> À: "members" <members at lists.sigcis.org>
> Envoyé: Lundi 6 Septembre 2021 07:50:40
> Objet: Re: [SIGCIS-Members] Origins of "clean" code
> 
> Janet,
> 
> I think that "garbage collection" is so literally accurate that it 
> isn't a metaphor. Or at least, if it's a metaphor, so are "word" and 
> "program".
> 
> "Clean" seems to me very comparable with "beautiful" as used by 
> theoretical physicists and mathematicians of the most elegant theories. 
> (For example, nobody as far as I know thinks that the proofs of 
> Fermat's Last Theorem or the Four Colour theorem are beautiful.) 
> Definitely in the class of "I know it when I see it."
> 
> Dijkstra, by the way, in his famous "Go To Statement Considered 
> Harmful" letter doesn't seem to use the word clean, but he does say 
> that Go To is "an invitation to make a mess of one's program."
> 
> Regards
>    Brian Carpenter
> 
> On 05-Sep-21 10:50, Janet Abbate wrote:
> > And let’s not forget “garbage collection” 
> > 
> > Dr. Janet Abbate
> > Professor, Science, Technology and Society
> > Virginia Tech
> > Co-director, VT National Capital Region STS program
> > liberalarts.vt.edu/sts
> > www.facebook.com/VirginiaTechSTS
> > https://sites.google.com/vt.edu/stsconnect/
> > 
> >> 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 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
> > 
> 
> _______________________________________________
> 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


More information about the Members mailing list