Origins of "clean" code
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
Hello Azhar, It's an interesting question. I don't have any definite pointers for you, but here are some ideas. First, you could look in the ACM or IEEE digital libraries with date filters set for early uses of the word "clean" or the phrase "clean code" or several variants in it. Second, you could search Google books for the phrase "clean code." In some cases the Oxford English Dictionary is useful, but this is not a distinct new sense of the word "clean" so there is no entry. Second, you could dig into the metaphor. Phrases like this often start out as explicitly metaphorical, like computer memory, and become naturalized. What did it originally mean for code to be "clean". In early use, what was the opposite of "clean." Did people talk of "dirty code"? "Messy code?" Somehow "messy" or "tangled" seem more appropriate than "dirty" which is the usual antonym of clean. "Clean" and "dirty" are used together in respect of caching techniques, but that is not quite the same sense. Dijkstra does seem to have been fond of the word "clean." One of the earliest hits in my own database of sources and notes was EWD 32 on "advanced programming," which includes both "the clean and systematic structure of the translator" and "the clean and systematic structure of the machine itself." https://www.cs.utexas.edu/users/EWD/transcriptions/EWD00xx/EWD32.html So it seems plausible that the metaphor comes, or was at least popularized, out of the structured programming movement of the early 1970s. In this case Dijkstra was explicitly equating the design of programs with the design of machines. In light of the connection of cleanliness with structure and elegant mechanisms, you might also consider the historic association of cleanliness and efficiency with systematization. One of my dissertation advisors, Mauro Guillen, wrote a book _The Taylorized Beauty of the Mechanical: Scientific Management and the Rise of Modernist Architecture_ that made an interesting case for Taylorism as a kind of aesthetic preference that had a lot in common with minimalism. And of course Taylorism was just one of many managerial movements based around systematization. More generally, say, management reformers called for the adoption of desks with no drawers or built-in compartments so that papers could not accumulate. The place where "dirty code" does seem to be used is in a special context, as "quick and dirty code" which is a more general formulation used in many design areas. But here too, it seems to go with the assumption that "clean" code is well structured and elegant. Best wishes, Tom -----Original Message----- From: Members <members-bounces@lists.sigcis.org> On Behalf Of Azhar Desai Sent: Friday, September 3, 2021 2:19 PM To: members@sigcis.org Subject: [SIGCIS-Members] Origins of "clean" code 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
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@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
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@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@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
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-... 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@iu.edu On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@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@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@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
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@lists.sigcis.org> on behalf of Rachel Plotnick <rachelplotnick2012@u.northwestern.edu> Sent: Saturday, September 4, 2021 8:53 AM To: Ben Peters <bjpeters@gmail.com> Cc: Sigcis <members@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@iu.edu<mailto:raplotni@iu.edu> On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@gmail.com<mailto:bjpeters@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@willegal.net<mailto:mike@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@azh-r.com<mailto:mail@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
Rachel - Is your work also intersecting with ideas about electricity as “clean” energy? -Julie Julie Cohn, Ph.D. Non-Resident Scholar, Center for Energy Studies Baker Institute for Public Policy, Rice University, and Research Historian, Center for Public History University of Houston email: cohnconnor@gmail.com cell: 713.516.0849 Author: The Grid: Biography of an American Technology (MIT Press, 2017) https://mitpress.mit.edu/books/grid
On Sep 4, 2021, at 5:53 AM, Rachel Plotnick <rachelplotnick2012@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-... <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@iu.edu <mailto:raplotni@iu.edu>
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@gmail.com <mailto:bjpeters@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://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@willegal.net <mailto:mike@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@azh-r.com <mailto:mail@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://www.wireguard.com/papers/wireguard.pdf> [2] https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF <https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF> _______________________________________________ This email is relayed from members at sigcis.org <http://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/ <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 <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>
This email is relayed from members at sigcis.org <http://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/ <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 <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>_______________________________________________ This email is relayed from members at sigcis.org <http://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/ <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 <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
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@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-... <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@iu.edu <mailto:raplotni@iu.edu>
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@gmail.com <mailto:bjpeters@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://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@willegal.net <mailto:mike@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@azh-r.com <mailto:mail@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://www.wireguard.com/papers/wireguard.pdf> [2] https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF <https://www.cs.utexas.edu/users/EWD/ewd04xx/EWD417.PDF> _______________________________________________ This email is relayed from members at sigcis.org <http://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/ <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 <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>
This email is relayed from members at sigcis.org <http://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/ <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 <http://lists.sigcis.org/listinfo.cgi/members-sigcis.org>_______________________________________________ This email is relayed from members at sigcis.org <http://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/ <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 <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
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@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@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-...
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@iu.edu
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@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@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@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
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@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-...
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@iu.edu
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@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@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@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
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@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-...
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@iu.edu
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@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@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@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
-- Rachel Plotnick, PhD Media, Technology and Society Program Northwestern University _______________________________________________ This email is relayed from members at sigcis.org, the email discussion
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: 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 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
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@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-...
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@iu.edu
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@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@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@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
-- Rachel Plotnick, PhD Media, Technology and Society Program Northwestern University _______________________________________________ This email is relayed from members at sigcis.org, the email discussion
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%20illust... http://www.rdv-histoire.com/mounier-kuhn-pierre-eric ----- Mail original ----- De: "Brian E Carpenter" <brian.e.carpenter@gmail.com> À: "members" <members@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: 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 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
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%20illust... http://www.rdv-histoire.com/mounier-kuhn-pierre-eric
----- Mail original ----- De: "Brian E Carpenter" <brian.e.carpenter@gmail.com> À: "members" <members@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
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@u.northwestern.edu> wrote:
Hi all,
I've been working on the question of cleanliness in computing for
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
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@iu.edu
On Sat, Sep 4, 2021 at 12:16 AM Ben Peters <bjpeters@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@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@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
_______________________________________________ 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
-- Rachel Plotnick, PhD Media, Technology and Society Program Northwestern University _______________________________________________ This email is relayed from members at sigcis.org, the email
discussion
On 05-Sep-21 10:50, Janet Abbate wrote: 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: thoughts: https://www.taylorfrancis.com/chapters/edit/10.4324/9780429264306-7/unclean-... 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 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 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
hi, i once was interested in the same question. clean and dirty, readable code, etc.pp. so i asked the programmers. i mean you still can do so. their profession is not that old so many are still around to ask. niklaus wirth is still around as terry winograd - i hope, tony hoare, donald knuth, ... in regard to clean i remember adele goldberg told me: it needs to fit on one screen. "Really good code, readable code, is the pride of every programmer. Ideally, it should be short and concise. In any case, it should fit on a screen page in a clearly visible way. If you have to scroll you are forced to keep the lines in your head - that's annoying." (2001) i suggest to understand programmers and their phrasing you can dig brian foote: "big ball of mud" is a great read, about shantytowns and spaghetti code | http://laputan.org/ sort of transcript of my own radio show to that: programming languages: be quick and get dirty, 2001 https://web.archive.org/web/20030627085330fw_/http://matrix.orf.at/bkframe/0... (you need to make use of deepl.com, as it is in german ... ) all the best, mariann
On 03.09.2021, at 21:19, Azhar Desai <mail@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
Going way back, I remember chatting to Harlan Mills (who went on to pioneer “clean room” with Baker in IBM’s FSD) suggesting that there should be a picture gallery with good pieces of code hung in frames - I can’t remember for sure whether the adjective he used on that occasion was actually “good” and I have no evidence that he ever implemented the idea cliff
On 2021-09-04, at 07:02, mariann unterluggauer <mariann@nomatic.org> wrote:
⚠ External sender. Take care when opening links or attachments. Do not provide your login details.
hi, i once was interested in the same question. clean and dirty, readable code, etc.pp. so i asked the programmers. i mean you still can do so. their profession is not that old so many are still around to ask.
Then there’s “spaghetti” code. The meaning is clear but somebody had fun coming up with that one. Best, Marc
On Sep 4, 2021, at 02:45, Cliff Jones <cliff.jones@newcastle.ac.uk> wrote:
Going way back, I remember chatting to Harlan Mills (who went on to pioneer “clean room” with Baker in IBM’s FSD) suggesting that there should be a picture gallery with good pieces of code hung in frames - I can’t remember for sure whether the adjective he used on that occasion was actually “good” and I have no evidence that he ever implemented the idea
cliff
On 2021-09-04, at 07:02, mariann unterluggauer <mariann@nomatic.org> wrote:
⚠ External sender. Take care when opening links or attachments. Do not provide your login details.
hi, i once was interested in the same question. clean and dirty, readable code, etc.pp. so i asked the programmers. i mean you still can do so. their profession is not that old so many are still around to ask.
_______________________________________________ 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
participants (15)
-
Azhar Desai -
Ben Peters -
Brian E Carpenter -
Ceruzzi, Paul -
Cliff Jones -
David Grier -
Janet Abbate -
Jean Graham -
Julie Cohn -
Marc Weber -
mariann unterluggauer -
MikeWillegal -
Pierre Mounier-Kuhn -
Rachel Plotnick -
thomas.haigh@gmail.com