Considered harmful
![](http://upload.wikimedia.org/wikipedia/commons/thumb/b/bb/Achievements_considered_harmful.jpg/220px-Achievements_considered_harmful.jpg)
In computer science and related disciplines, considered harmful is a phrase popularly used in the titles of diatribes and other critical essays (there are at least 65 such works[1]). It was popularized by Edsger Dijkstra's letter Go To Statement Considered Harmful,[2][3] 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.[4] 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 the now immortalized Go To Statement Considered Harmful.[5] Regarding this new title, Donald Knuth quipped that "Dr. Goto cheerfully complained that he was always being eliminated."[6]
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.[7] The May 1987 CACM printed further replies, both for and against, under the title '"GOTO Considered Harmful" Considered Harmful' Considered Harmful?.[8] Dijkstra's own response to this controversy was titled On a Somewhat Disappointing Correspondence.[9]
According to linguist Mark Liberman, considered harmful was a journalistic cliché, used in headlines, well before the Dijkstra article. He cites the headline over a letter published August 12, 1949 in The New York Times: "Rent Control Controversy / Enacting Now of Hasty Legislation Considered Harmful".[10]
Variants
Some variants with replacement adjectives (considered silly, etc.) have been noted in hacker jargon.[11][12] Many variants deal with computer-related issues, such as:
- "'Reply-To' Munging Considered Harmful" [13]
- "XMLHttpRequest Considered Harmful" [14]
- "Csh Programming Considered Harmful" [15]
- "Turing Test Considered Harmful" [16]
- "Geek Culture Considered Harmful to Perl" [17]
- "with Statement Considered Harmful" [18]
Web design consultant Eric A. Meyer focused upon the letter itself: "Considered Harmful Essays Considered Harmful".[19]
Related essays
- 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.
- John McCarthy (December 1989). "Networks Considered Harmful for Electronic Mail". CACM. 32 (12): 1389–1390.
- 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". See C shell.
- Peter Miller (1998). "Recursive Make Considered Harmful". AUUGN Journal of AUUG Inc. 19 (1): 14–25.
- 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: 1312. doi:10.1109/INFCOM.2003.1208967.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - A Mishra, V Shrivastava, S Banerjee, W Arbaugh (June 2006). "Partially Overlapped Channels Not Considered Harmful". Sigmetrics. 34: 63. doi:10.1145/1140103.1140286.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - 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".
{{cite web}}
: CS1 maint: multiple names: authors list (link) - Jun-ichiro itojun Hagino (October 2003). "IPv4-Mapped Addresses on the Wire Considered Harmful".
See also
References
- ^ "Miscellaneous - Considered Harmful". Retrieved August 17, 2009.[dead link]
- ^ Edsger Dijkstra (March 1968). "Go To Statement Considered Harmful". 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.
{{cite journal}}
:|format=
requires|url=
(help) - ^ 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", IEEE Annals of the History of Computing, 27 (3): 92, doi:10.1109/MAHC.2005.37
{{citation}}
:|contribution=
ignored (help) - ^ Frank Rubin (March 1987). ""GOTO Considered Harmful" Considered Harmful" (PDF). Communications of the ACM. 30 (3): 195–196. doi:10.1145/214748.315722.
- ^ Donald Moore, Chuck Musciano, Michael J. Liebhaber, Steven F. Lott and Lee Starr (May 1987). "" 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" (PDF). Communications of the ACM. 30 (5): 351–355.
{{cite journal}}
: CS1 maint: multiple names: authors list (link) - ^ 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)
- ^ "Language Log: Considered harmful". April 8, 2008. Retrieved August 17, 2009.
- ^ Yash Tulsyan; et al. (June 25, 2011). "considered harmful". The Jargon File. Retrieved July 31, 2011.
{{cite web}}
: Explicit use of et al. in:|author=
(help) - ^ Steve Yegge (October 21, 2009). "considered stupid".
- ^ Rosenthal, Chip (November 14, 2002). ""Reply-To" Munging Considered Harmful". Retrieved August 17, 2009.
- ^ Levitt, Jason (November 9, 2005). "XMLHttpRequest Considered Harmful". XML.com. Retrieved August 17, 2009.
- ^ Christiansen, Tom (October 6, 1996). "Csh Programming Considered Harmful". Retrieved August 17, 2009.
- ^ Hayes, Patrick J., Ford, Ken (1995). "Turing Test Considered Harmful" (PDF). Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence. International Joint Conference on Artificial Intelligence. Montreal, Quebec, Canada. pp. 972–997. Retrieved October 27, 2011.
{{cite conference}}
: Unknown parameter|booktitle=
ignored (|book-title=
suggested) (help)CS1 maint: multiple names: authors list (link) - ^ "Geek Culture Considered Harmful to Perl". August 19, 2008. Retrieved August 17, 2009.
- ^ Douglas Crockford (April 11, 2006). "with Statement Considered Harmful". Retrieved April 7, 2012.
- ^ Eric A. Meyer. "Considered harmful essays considered harmful".
External links
- harmful.cat-v.org - A site that collects 'considered harmful' essays and rants on various topics. Named after a presentation by Rob Pike titled "
cat -v Considered Harmful
".