Considered harmful is a part of a phrasal template "X considered harmful". As of 2009[update], its snowclones have been used in the titles of at least 65 critical essays in computer science and related disciplines. Its use in this context originated in 1968 with Edsger Dijkstra's letter "Go To Statement Considered Harmful".
Considered harmful was already a journalistic cliché used in headlines, well before the Dijkstra article, as in, for example, the headline over a letter published in 1949 in The New York Times: "Rent Control Controversy / Enacting Now of Hasty Legislation Considered Harmful".
Considered harmful was popularized among computer scientists by Edsger Dijkstra's letter "Go To Statement Considered Harmful", published in the March 1968 Communications of the ACM (CACM), in which he criticized the excessive use of the GOTO statement in programming languages of the day and advocated structured programming instead. The original title of the letter, as submitted to CACM, was "A Case Against the Goto Statement", but CACM editor Niklaus Wirth changed the title to "Go To Statement Considered Harmful". Regarding this new title, Donald Knuth quipped that "Dr. Goto cheerfully complained that he was always being eliminated."
Frank Rubin published a criticism of Dijkstra's letter in the March 1987 CACM where it appeared under the title "'GOTO Considered Harmful' Considered Harmful". The May 1987 CACM printed further replies, both for and against, under the title "'"GOTO Considered Harmful" Considered Harmful' Considered Harmful?". Dijkstra's own response to this controversy was titled On a Somewhat Disappointing Correspondence.
- William Wulf and Mary Shaw (February 1973). "Global Variable Considered Harmful". ACM SIGPLAN Notices. 8 (2): 28–34. doi:10.1145/953353.953355.
- Bruce A. Martin (November 15–19, 1976). "Letter O Considered Harmful". proposal considered by X3J3 members. Brookhaven National Laboratory, Upton, NY: X3J3: ANSI Fortran Standards Committee. (Full proposal text was included in post-meeting distribution; see summary.)
- Rob Pike and Brian Kernighan (1983). "UNIX Style, or cat -v Considered Harmful". USENIX. Retrieved January 25, 2020.
- John McCarthy (December 1989). "Networks Considered Harmful for Electronic Mail". Communications of the ACM. 32 (12): 1389–1390. doi:10.1145/76380.316015.
- Eliot Lear; Erik Fair; Dave Crocker; Thomas Kessler (July 1994). RFC 1627: Network 10 Considered Harmful (Some Practices Shouldn't be Codified) (Technical report). IETF. doi:10.17487/rfc1627.
- CA Kent; JC Mogul (January 1995). "Fragmentation Considered Harmful". ACM SIGCOMM Computer Communication Review. 25: 75–87. doi:10.1145/205447.205456.
- Tom Christiansen (October 1996). "Csh Programming Considered Harmful". Retrieved January 25, 2020. See C shell.
- Peter Miller (1998). "Recursive Make Considered Harmful". AUUGN. 19 (1): 14–25. Archived from the original on March 30, 2015.
- Jonathan Amsterdam (February 2002). "Java's new Considered Harmful". Software Development Magazine.
- Ian Hickson (September 2002). "Sending XHTML as text/html Considered Harmful".
- Eric A. Meyer (December 2002). ""Considered Harmful" Essays Considered Harmful".
- C. Ponder; B. Bush (1992). "Polymorphism considered harmful". ACM SIGPLAN Notices. 27 (6): 76–79. doi:10.1145/130981.130991.
- J Yoon; M Liu; B Noble (April 2003). Random Waypoint Considered Harmful. Infocom. 2. pp. 1312–1321 vol.2. CiteSeerX 10.1.1.129.5604. doi:10.1109/INFCOM.2003.1208967. ISBN 978-0-7803-7752-3.
- A Mishra; V Shrivastava; S Banerjee; W Arbaugh (June 2006). "Partially Overlapped Channels Not Considered Harmful". Sigmetrics. 34: 63. CiteSeerX 10.1.1.115.9060. doi:10.1145/1140103.1140286.
- Alexander Sotirov; Marc Stevens; Jacob Appelbaum; Arjen Lenstra; David Molnar; Dag Arne Osvik; Benne de Weger (December 2008). "MD5 considered harmful today - Creating a rogue CA certificate".
- Jun-ichiro itojun Hagino (October 2003). "IPv4-Mapped Addresses on the Wire Considered Harmful".
- Cory J. Kapser and Michael W. Godfrey (October 2006), "'Cloning Considered Harmful' Considered Harmful". doi:10.1109/WCRE.2006.1
- Rich Felker (a.k.a. 'dalias') (July 2013). "NULL considered harmful". Retrieved January 25, 2020. See C (programming language).
- Paul Ceruzzi (June 2015). "Star Trek Considered Harmful".
- Howard Chu (February 2008). "GnuTLS Considered Harmful".
- Eric S. Raymond (March 7, 2014). "mdoc considered harmful". Archived from the original on October 3, 2020. Retrieved October 4, 2020.
- Joanna Rutkowska (October 2015). "Intel x86 considered harmful" (PDF).
- Drew DeVault (November 2016). "Electron considered Harmful".
- Alex North-Keys (January 2016). "Commandname Extensions Considered Harmful".
- Alexander Rush (January 2019). "Tensor Considered Harmful".
- James Damore (July 2017). ""Google's Ideological Echo Chamber, an internal memo on Google's diversity efforts that went viral within the company and was later posted to several websites, was distributed under the internal link "go/pc-considered-harmful," a reference to the author's perceived issues with political correctness".
- Donald A. Norman (July 2005). "Human-centered design considered harmful". Interactions. 12 (4): 14. doi:10.1145/1070960.1070976.
- "Miscellaneous - Considered Harmful". Archived from the original on May 3, 2009. Retrieved August 17, 2009.
- Mark Liberman (April 8, 2008). "Language Log: Considered harmful". Retrieved August 17, 2009.
- Edsger Dijkstra (March 1968). "Go To Statement Considered Harmful" (PDF). Communications of the ACM. 11 (3): 147–148. doi:10.1145/362929.362947.
The unbridled use of the go to statement has as an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. ... The go to statement as it stands is just too primitive, it is too much an invitation to make a mess of one's program.
- Dijkstra, Edsger W. EWD-215 (PDF). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (transcription)
- David R. Tribble (February 2005). "Go To Statement Considered Harmful: A Retrospective".
- Dijkstra, Edsger W. What led to "Notes on Structured Programming" (EWD-1308) (PDF). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (transcription) (June, 2001)
- Kanada, Yasumasa (2005), "Events and Sightings: An obituary of Eiichi Goto", IEEE Annals of the History of Computing, 27 (3): 92, doi:10.1109/MAHC.2005.37
- Frank Rubin (March 1987). ""GOTO Considered Harmful" Considered Harmful" (PDF). Communications of the ACM. 30 (3): 195–196. doi:10.1145/214748.315722. Archived from the original (PDF) on March 20, 2009.
- Donald Moore; Chuck Musciano; Michael J. Liebhaber; Steven F. Lott; Lee Starr (May 1987). "" 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" (PDF). Communications of the ACM. 30 (5): 351–355. doi:10.1145/22899.315729.
- Dijkstra, Edsger W. On a Somewhat Disappointing Correspondence (EWD-1009) (PDF). E.W. Dijkstra Archive. Center for American History, University of Texas at Austin. (transcription) (May, 1987)