Considered harmful
Encyclopedia
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).
It was popularized 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 language
s 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 the now immortalized 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.
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".
s (considered silly, etc.) have been noted in hacker jargon
.
Many variants dealt with computer-related issues, such as
"'Reply-To' Munging Considered Harmful",
"XMLHttpRequest Considered Harmful", "Csh Programming Considered Harmful", "Turing Test Considered Harmful", and
"Geek Culture Considered Harmful to Perl". Web design consultant Eric A. Meyer
focused upon the letter, itself: "Considered Harmful Essays Considered Harmful".
for summary.) See C shell
.
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...
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).
It was popularized by Edsger Dijkstra
Edsger Dijkstra
Edsger Wybe Dijkstra ; ) was a Dutch computer scientist. He received the 1972 Turing Award for fundamental contributions to developing programming languages, and was the Schlumberger Centennial Chair of Computer Sciences at The University of Texas at Austin from 1984 until 2000.Shortly before his...
's letter Go To Statement Considered Harmful,
published in the March 1968 Communications of the ACM
Association for Computing Machinery
The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...
(CACM), in which he criticized the excessive use of the GOTO
Goto
goto is a statement found in many computer programming languages. It is a combination of the English words go and to. It performs a one-way transfer of control to another line of code; in contrast a function call normally returns control...
statement
Statement (programming)
In computer programming a statement can be thought of as the smallest standalone element of an imperative programming language. A program written in such a language is formed by a sequence of one or more statements. A statement will have internal components .Many languages In computer programming...
in programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....
s of the day and advocated structured programming
Structured programming
Structured programming is a programming paradigm aimed on improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures and for and while loops - in contrast to using simple tests and jumps such as the goto statement which could...
instead. The original title of the letter, as submitted to CACM, was A Case Against the Goto Statement, but CACM editor Niklaus Wirth
Niklaus Wirth
Niklaus Emil Wirth is a Swiss computer scientist, best known for designing several programming languages, including Pascal, and for pioneering several classic topics in software engineering. In 1984 he won the Turing Award for developing a sequence of innovative computer languages.-Biography:Wirth...
changed the title to the now immortalized Go To Statement Considered Harmful. Regarding this new title, Donald Knuth
Donald Knuth
Donald Ervin Knuth is a computer scientist and Professor Emeritus at Stanford University.He is the author of the seminal multi-volume work The Art of Computer Programming. Knuth has been called the "father" of the analysis of algorithms...
quipped that "Dr. Goto
Eiichi Goto
Eiichi Goto was a Japanese computer scientist, the builder of one of the first general-purpose computers in Japan.-Biography:Goto was born in January 26, 1931 in Shibuya, Tokyo. After attending Seikei High School he went to Tokyo University, where he graduated in 1953...
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.
According to linguist Mark Liberman
Mark Liberman
Mark Liberman is an American linguist. He has a dual appointment at the University of Pennsylvania, as Trustee Professor of Phonetics in the Department of Linguistics, and as a professor in the Department of Computer and Information Sciences. He is the founder and director of the Linguistic Data...
, 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
The New York Times
The New York Times is an American daily newspaper founded and continuously published in New York City since 1851. The New York Times has won 106 Pulitzer Prizes, the most of any news organization...
: "Rent Control Controversy / Enacting Now of Hasty Legislation Considered Harmful".
Variants
Some variants with replacement adjectiveAdjective
In grammar, an adjective is a 'describing' word; the main syntactic role of which is to qualify a noun or noun phrase, giving more information about the object signified....
s (considered silly, etc.) have been noted in hacker jargon
Jargon
Jargon is terminology which is especially defined in relationship to a specific activity, profession, group, or event. The philosophe Condillac observed in 1782 that "Every science requires a special language because every science has its own ideas." As a rationalist member of the Enlightenment he...
.
Many variants dealt with computer-related issues, such as
"'Reply-To' Munging Considered Harmful",
"XMLHttpRequest Considered Harmful", "Csh Programming Considered Harmful", "Turing Test Considered Harmful", and
"Geek Culture Considered Harmful to Perl". Web design consultant Eric A. Meyer
Eric Meyer
Eric A. Meyer is an American web design consultant and author. He is best known for his advocacy work on behalf of web standards, most notably Cascading Style Sheets , a technique for managing how HTML is displayed...
focused upon the letter, itself: "Considered Harmful Essays Considered Harmful".
Related essays
(Full proposal text was included in post-meeting distribution; see FortranFortran
Fortran is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing...
for summary.) See C shell
C shell
The C shell is a Unix shell that was created by Bill Joy while a graduate student at University of California, Berkeley in the late 1970s. It has been distributed widely, beginning with the 2BSD release of the BSD Unix system that Joy began distributing in 1978...
.
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
".