Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Considered harmful
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Phrase used in titles of critical texts}} {{Use mdy dates|date=December 2019}} {{CS1 config|mode=cs1}} [[File:Achievements considered harmful.jpg|thumb|"Achievements considered harmful?" presentation at the 2010 [[Game Developers Conference]]]] '''Considered harmful''' is a part of a [[phrasal template]] "something considered harmful". {{as of|2009}}, its [[snowclone]]s have been used in the titles of at least 65 critical essays in [[computer science]] and related disciplines.<ref>{{cite web | url = http://jeff.over.bz/?04_Miscellaneous/03_Considered_Harmful | title = Miscellaneous - Considered Harmful | accessdate = August 17, 2009 | archiveurl = https://web.archive.org/web/20090503144621/http://jeff.over.bz/?04_Miscellaneous%2F03_Considered_Harmful | archivedate = 2009-05-03 | url-status = dead }}</ref> Its use in this context originated with a 1968 letter by [[Edsger Dijkstra]] published as "Go To Statement Considered Harmful". ==History== ''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".<ref name="liberman">{{cite web | url = http://itre.cis.upenn.edu/~myl/languagelog/archives/004675.html | author=[[Mark Liberman]]|title = Language Log: Considered harmful | date = April 8, 2008 | accessdate = August 17, 2009}}</ref> ''Considered harmful'' was popularized among computer scientists by [[Edsger Dijkstra]]'s letter "Go To Statement Considered Harmful",<ref name="dijkstra1968">{{cite journal | author = [[Edsger Dijkstra]] | date=March 1968 | title = Go To Statement Considered Harmful | journal = Communications of the ACM | volume = 11 | issue = 3 | pages = 147β148 | doi = 10.1145/362929.362947 | s2cid=17469809 | url = https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf | quote=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.}}</ref><ref name="ewd215">{{Cite EWD|215}}</ref> published in the March 1968 ''Communications of the [[Association for Computing Machinery|ACM]]'' (CACM), in which he criticized the excessive use of the [[GOTO]] [[statement (programming)|statement]] in [[programming language]]s of the day and advocated [[structured programming]] instead.<ref>{{cite web | url = http://david.tribble.com/text/goto.html | title = Goto Statement Considered Harmful: A Retrospective | author = David R. Tribble |date=February 2005}}</ref> 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 "Goto Statement Considered Harmful".<ref>{{cite EWD|1308|What led to "Notes on Structured Programming"}} (June, 2001)</ref> Regarding this new title, [[Donald Knuth]] quipped that "[[Eiichi Goto|Dr. Goto]] cheerfully complained that he was always being eliminated."<ref>{{cite journal|first=Yasumasa|last=Kanada|title=Events and Sightings: An obituary of Eiichi Goto|page=92|journal=IEEE Annals of the History of Computing|volume=27|issue=3|year=2005|doi=10.1109/MAHC.2005.37|s2cid=675701}}</ref> 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''.<ref name="rubin87goto">{{cite journal|author=Frank Rubin |date=March 1987 |url=http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf |title="GOTO Considered Harmful" Considered Harmful |journal=Communications of the ACM |volume=30 |issue=3 |pages=195β196 |doi=10.1145/214748.315722 |s2cid=6853038 |url-status=dead |archiveurl=https://web.archive.org/web/20090320002214/http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf |archivedate=March 20, 2009 }}</ref> The May 1987 CACM printed further replies, both for and against, under the title ''{{'"}}GOTO Considered Harmful" Considered Harmful' Considered Harmful?''.<ref name="acm_may87">{{cite journal |author1=Donald Moore |author2=Chuck Musciano |author3=Michael J. Liebhaber |author4=Steven F. Lott |author5=Lee Starr |date=May 1987 | url = http://cacm.acm.org/magazines/1987/5/10097-acm-forum/abstract |format=PDF| title = " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful? | journal = Communications of the ACM | volume = 30 | issue = 5 | pages = 351β355 | doi = 10.1145/22899.315729 |s2cid=42951740 }}</ref> Dijkstra's own response to this controversy was titled ''On a Somewhat Disappointing Correspondence''.<ref name="ewd1009">{{cite EWD|1009|On a Somewhat Disappointing Correspondence}} (May, 1987)</ref> ==Snowclones == * {{Cite journal | author = [[William Wulf]] and [[Mary Shaw (computer scientist)|Mary Shaw]] | title = Global Variable Considered Harmful | journal = ACM SIGPLAN Notices | volume = 8 | issue = 2 | date = February 1973 | pages = 28β34 | doi = 10.1145/953353.953355| s2cid = 2388792 | doi-access = free }} * {{Cite book | contribution = Letter O Considered Harmful | publisher = X3J3: ANSI [[Fortran]] Standards Committee |author = Bruce A. Martin | date = November 15β19, 1976 | place = Brookhaven National Laboratory, Upton, NY | title = proposal considered by X3J3 members}} ''(Full proposal text was included in post-meeting distribution; see [[fortran#Humor|summary]].)'' * {{cite journal | url = http://harmful.cat-v.org/cat-v/ | title = UNIX Style, or cat -v Considered Harmful | author = [[Rob Pike]] and [[Brian Kernighan]] | year = 1983 | journal = USENIX | accessdate=January 25, 2020}} ** This article is the namesake of a ''Cat-v.org Random Contrarian Insurgent Organization'', which maintains a directory of "considered harmful" articles and hosts some [[Plan 9 from Bell Labs|Plan 9]]-related software. (Rob Pike was a main figure in the creation of Plan 9 and wrote extensively on bad designs found in UNIX.)<ref>{{cite web |title=Cat-v.org Random Contrarian Insurgent Organization |url=http://cat-v.org/ |website=cat-v.org}}</ref> * {{Cite journal | author = John McCarthy | title = Networks Considered Harmful for Electronic Mail | url = http://www-formal.stanford.edu/jmc/harmful.html | journal = Communications of the ACM | volume = 32 | issue = 12 | pages = 1389β1390 |date=December 1989 | doi=10.1145/76380.316015| doi-access = free }} * {{Cite journal |author1=C. Ponder |author2=B. Bush | title = Polymorphism considered harmful | journal = ACM SIGPLAN Notices | volume = 27 | issue = 6 | year = 1992 | pages = 76β79 | doi = 10.1145/130981.130991|s2cid=21140034 | doi-access = free }} * {{cite tech report| title = RFC 1627: Network 10 Considered Harmful (Some Practices Shouldn't be Codified) | author=Eliot Lear | author2=Erik Fair | author3=Dave Crocker | author4=Thomas Kessler | date=July 1994 | publisher=IETF | doi=10.17487/rfc1627 | doi-access=free }} * {{cite journal | title = Fragmentation Considered Harmful |author1=CA Kent |author2=JC Mogul |date=January 1995 | journal = ACM SIGCOMM Computer Communication Review | doi = 10.1145/205447.205456 | volume = 25 | pages = 75β87|s2cid=207997774 }} * {{cite web | url = http://harmful.cat-v.org/software/csh | title = Csh Programming Considered Harmful | author = Tom Christiansen | date=October 1996 | accessdate=January 25, 2020}} See [[C shell]]. * {{cite journal | url = http://miller.emu.id.au/pmiller/books/rmch/ | title = Recursive Make Considered Harmful | author = Peter Miller | year = 1998 | journal = AUUGN | volume = 19 | issue = 1 | pages = 14β25 | url-status = dead | archiveurl = https://web.archive.org/web/20150330111905/http://miller.emu.id.au/pmiller/books/rmch/ | archivedate = 2015-03-30 }} * {{cite journal | url = http://www.ddj.com/java/184405016 | title = Java's new Considered Harmful | author = Jonathan Amsterdam |date=February 2002 | journal = Software Development Magazine}} * {{cite web | url = http://hixie.ch/advocacy/xhtml | title = Sending XHTML as text/html Considered Harmful | author = Ian Hickson |date=September 2002}} * {{cite web | url = http://www.meyerweb.com/eric/comment/chech.html | title = "Considered Harmful" Essays Considered Harmful | author = Eric A. Meyer |date=December 2002}} * {{cite conference | doi = 10.1109/INFCOM.2003.1208967 |author1=J Yoon |author2=M Liu |author3=B Noble | conference = [[IEEE INFOCOM]] 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428) | title = Random waypoint considered harmful |date=April 2003 | pages = 1312β1321 vol.2 | volume = 2| isbn = 978-0-7803-7752-3 | citeseerx = 10.1.1.129.5604 | s2cid = 3779394 }} * {{cite journal | url = http://tools.ietf.org/html/draft-itojun-v6ops-v4mapped-harmful-02 | title = IPv4-Mapped Addresses on the Wire Considered Harmful|website=IETF Internet-Draft | author = Jun-ichiro itojun Hagino |date=October 2003}} * {{cite journal |author=Donald A. Norman | author-link=Don Norman |title=Human-centered design considered harmful |journal=[[ACM Interactions|Interactions]] |date=July 2005 |volume=12 |issue=4 |pages=14β19 |doi=10.1145/1070960.1070976| s2cid=1698853 }} See [[Human-centered design]]. * {{cite web |last1=Knight |first1=James |title=Python's Super Considered Harmful |url=https://fuhm.net/super-harmful/ |website=fuhm.net |archive-url=https://web.archive.org/web/20231108034423/https://fuhm.net/super-harmful/ |archive-date=8 Nov 2023 |url-status=live}}<!-- Undated, but archived as early as 22 Feb 2006: https://web.archive.org/web/20060222010524/https://fuhm.net/super-harmful/ --> ** {{cite web |last1=Batchelder |first1=Ned |title=Python's super (considered harmful) |url=https://nedbatchelder.com/blog/200709/pythons_super_considered_harmful.html |website=nedbatchelder.com |archive-url=https://web.archive.org/web/20231108021013/nedbatchelder.com/blog/200709/pythons_super_considered_harmful.html |archive-date=8 Nov 2023 |language=en |date=29 September 2007 |url-status=live}} ** {{cite web |last1=Hettinger |first1=Raymond |title=Python's super() considered super! |url=https://rhettinger.wordpress.com/2011/05/26/super-considered-super/ |website=Deep Thoughts |archive-url=https://web.archive.org/web/20231227145114/rhettinger.wordpress.com/2011/05/26/super-considered-super/ |archive-date=27 Dec 2023 |language=en |date=26 May 2011 |url-status=live}} * {{cite journal | title = Partially Overlapped Channels Not Considered Harmful |author1=A Mishra |author2=V Shrivastava |author3=S Banerjee |author4=W Arbaugh |date=June 2006 | journal = ACM SIGMETRICS Performance Evaluation Review| doi = 10.1145/1140103.1140286 | volume = 34 | pages = 63β74|citeseerx = 10.1.1.115.9060}} *{{cite conference |last1=Kapser |first1=Cory |last2=Godfrey |first2=Michael W. |title="Cloning Considered Harmful" Considered Harmful |conference=2006 13th Working Conference on Reverse Engineering |date=October 2006 |pages=19β28 |doi=10.1109/WCRE.2006.1}} * {{cite web | url = http://www.openldap.org/lists/openldap-devel/200802/msg00072.html | title = GnuTLS Considered Harmful | author = Howard Chu | date=February 2008|website=LDAP Mailing List}} * {{cite web | url = http://www.win.tue.nl/hashclash/rogue-ca/ | title = MD5 considered harmful today - Creating a rogue CA certificate|author1=Alexander Sotirov |author2=Marc Stevens |author3=Jacob Appelbaum |author4=Arjen Lenstra |author5=David Molnar |author6=Dag Arne Osvik |author7=Benne de Weger |date=December 2008}} * {{cite book | chapter-url = https://dl.acm.org/doi/10.1145/1518701.1518835 | chapter = Ethnography considered harmful | author = Andy Crabtree; Tom Rodden; Peter Tolmie; Graham Button | title = Proceedings of the SIGCHI Conference on Human Factors in Computing Systems | date=April 2009| pages = 879β888 | doi = 10.1145/1518701.1518835 | isbn = 9781605582467 | s2cid = 13646185 }} * {{cite web | url = https://ewontfix.com/11/ | title = NULL considered harmful | author = Rich Felker (a.k.a. 'dalias') | date=July 2013 | accessdate = January 25, 2020}} See [[C (programming language)]] and [[musl]], which the author maintains. * {{cite web | url = https://lists.gnu.org/archive/html/groff/2014-03/msg00086.html | title = mdoc considered harmful | author = [[Eric S. Raymond]] | date=March 7, 2014 | accessdate=October 4, 2020 | archive-url = https://web.archive.org/web/20190918180405/https://lists.gnu.org/archive/html/groff/2014-03/msg00086.html | archive-date = 2019-09-18 | url-status = live|website=Groff Mailing List}} * {{cite web | url = http://blog.nasm.si.edu/space/star-trek-considered-harmful/ | title = Star Trek Considered Harmful | author = Paul Ceruzzi |date=June 2015|website=National Air and Space Museum}} * {{cite web | url = https://blog.invisiblethings.org/papers/2015/x86_harmful.pdf | title = Intel x86 considered harmful | author = [[Joanna Rutkowska]] | date=October 2015}} * {{cite web | url = https://www.talisman.org/~erlkonig/documents/commandname-extensions-considered-harmful/ | title = Commandname Extensions Considered Harmful | author = Alex North-Keys | date=January 2016|website=talisman.org}} See [[Filename extension]]. * {{cite web |url = https://legacy.reactjs.org/blog/2016/07/13/mixins-considered-harmful.html | title = Mixins Considered Harmful | author = Dan Abramov | date=July 13, 2016 | archive-date = 2025-05-25 | archive-url = https://web.archive.org/web/20250525204235/https://legacy.reactjs.org/blog/2016/07/13/mixins-considered-harmful.html}} See [[Mixin | Mixins]] and [[React (software)]]. * {{cite web | url = https://drewdevault.com/2016/11/24/Electron-considered-harmful.html | title = Electron considered Harmful | author = Drew DeVault | date=November 2016}} See [[Electron (software framework)]]. * {{cite web | url = http://nlp.seas.harvard.edu/NamedTensor | title = Tensor Considered Harmful | author = Alexander Rush | date=January 2019|website=Harvard NLP}} See [[Tensor (machine learning)]]. * {{cite web | url = https://github.com/iritkatriel/finally/blob/main/README.md | title = Return in Finally Considered Harmful | author = Irit Katriel | website = [[GitHub]] | date=November 2024}} See [[Exception handling syntax]]. ==References== {{Reflist}} {{DEFAULTSORT:Considered Harmful}} [[Category:History of computing]] [[Category:Snowclones]] [[Category:Edsger W. Dijkstra]] [[Category:Computer humour]] [[Category:Computer science literature]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:'
(
edit
)
Template:'"
(
edit
)
Template:As of
(
edit
)
Template:CS1 config
(
edit
)
Template:Cite EWD
(
edit
)
Template:Cite book
(
edit
)
Template:Cite conference
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite tech report
(
edit
)
Template:Cite web
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use mdy dates
(
edit
)