Considered harmful

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Cosman246 (talk | contribs) at 01:25, 1 August 2011 (Undid revision 442416962 by Tide rolls (talk) because the edit was constructive). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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] 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.[3] 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.[4]

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.[5] The May 1987 CACM printed further replies, both for and against, under the title '"GOTO Considered Harmful" Considered Harmful' Considered Harmful?.[6] Dijkstra's own response to this controversy was titled On a Somewhat Disappointing Correspondence.[7]

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".[8]

Variants

Some variants with replacement adjectives (considered silly, etc.) have been noted in hacker jargon.[9][10] Many variants dealt with computer-related issues, such as "'Reply-To' Munging Considered Harmful",[11] "XMLHttpRequest Considered Harmful",[12] "Csh Programming Considered Harmful"[13] and "Geek Culture Considered Harmful to Perl".[14] Web design consultant Eric A. Meyer focused upon the letter, itself: "Considered Harmful Essays Considered Harmful".[15]

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 Fortran for summary.)
  • Rob Pike and Brian Kernighan (1983). "UNIX Style, or cat -v Considered Harmful". USENIX.
  • John McCarthy (1989). "Networks Considered Harmful for Electronic Mail". CACM. 32 (12): 1389–1390. {{cite journal}}: Unknown parameter |month= ignored (help)
  • CA Kent, JC Mogul (1995). "Fragmentation Considered Harmful". ACM SIGCOMM Computer Communication Review. 25: 75–87. doi:10.1145/205447.205456. {{cite journal}}: Unknown parameter |month= ignored (help)
  • Tom Christiansen (1996). "Csh Programming Considered Harmful". {{cite web}}: Unknown parameter |month= ignored (help) See C shell.
  • Peter Miller (1998). "Recursive Make Considered Harmful". AUUGN Journal of AUUG Inc. 19 (1): 14–25.
  • Jonathan Amsterdam (2002). "Java's new Considered Harmful". Software Development Magazine. {{cite journal}}: Unknown parameter |month= ignored (help)
  • Ian Hickson (2002). "Sending XHTML as text/html Considered Harmful". {{cite web}}: Unknown parameter |month= ignored (help)
  • Eric A. Meyer (2002). ""Considered Harmful" Essays Considered Harmful". {{cite web}}: Unknown parameter |month= ignored (help)
  • 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 (2003). "Random Waypoint Considered Harmful". Infocom. 2: 1312. doi:10.1109/INFCOM.2003.1208967. {{cite journal}}: Unknown parameter |month= ignored (help)CS1 maint: multiple names: authors list (link)
  • Erik Möller (2005). "Creative Commons -NC Licenses Considered Harmful". {{cite web}}: Unknown parameter |month= ignored (help)
  • A Mishra, V Shrivastava, S Banerjee, W Arbaugh (2006). "Partially Overlapped Channels Not Considered Harmful". Sigmetrics. 34: 63. doi:10.1145/1140103.1140286. {{cite journal}}: Unknown parameter |month= ignored (help)CS1 maint: multiple names: authors list (link)
  • Alexander Sotirov, Marc Stevens, Jacob Appelbaum, Arjen Lenstra, David Molnar, Dag Arne Osvik, Benne de Weger (2008). "MD5 considered harmful today - Creating a rogue CA certificate". {{cite web}}: Unknown parameter |month= ignored (help)CS1 maint: multiple names: authors list (link)
  • Jun-ichiro itojun Hagino (2003). "IPv4-Mapped Addresses on the Wire Considered Harmful". {{cite web}}: Unknown parameter |month= ignored (help)
  • Donald Knuth (1974). "Structured Programming with go to Statements" (PDF). Computing Surveys. 6 (4): 261–301. doi:10.1145/356635.356640.

See also

References

  1. ^ "Miscellaneous - Considered Harmful". Retrieved August 17, 2009.
  2. ^ Edsger Dijkstra (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. {{cite journal}}: Unknown parameter |month= ignored (help)
  3. ^ David R. Tribble (2005). "Go To Statement Considered Harmful: A Retrospective". {{cite web}}: Unknown parameter |month= ignored (help)
  4. ^ Edsger Dijkstra (2001). "What led to "Notes on Structured Programming"". {{cite web}}: Unknown parameter |month= ignored (help) Although Dijkstra didn't use the term 'structured programming' in the article.
  5. ^ Frank Rubin (1987). ""GOTO Considered Harmful" Considered Harmful" (PDF). Communications of the ACM. 30 (3): 195–196. doi:10.1145/214748.315722. {{cite journal}}: Unknown parameter |month= ignored (help)
  6. ^ Donald Moore, Chuck Musciano, Michael J. Liebhaber, Steven F. Lott and Lee Starr (1987). "" 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" (PDF). Communications of the ACM. 30 (5): 351–355. {{cite journal}}: Unknown parameter |month= ignored (help)CS1 maint: multiple names: authors list (link)
  7. ^ Edsger Dijkstra (1987). "On a Somewhat Disappointing Correspondence". {{cite web}}: Unknown parameter |month= ignored (help)
  8. ^ "Language Log: Considered harmful". April 8, 2008. Retrieved August 17, 2009.
  9. ^ 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)
  10. ^ Steve Yegge (October 21, 2009). "considered stupid".
  11. ^ Rosenthal, Chip (November 14, 2002). ""Reply-To" Munging Considered Harmful". Retrieved August 17, 2009.
  12. ^ Levitt, Jason (November 9, 2005). "XMLHttpRequest Considered Harmful". XML.com. Retrieved August 17, 2009.
  13. ^ Christiansen, Tom (October 6, 1996). "Csh Programming Considered Harmful". Retrieved August 17, 2009.
  14. ^ "Geek Culture Considered Harmful to Perl". August 19, 2008. Retrieved August 17, 2009.
  15. ^ Eric A. Meyer. "Considered harmful essays considered harmful".

External links