July 03, 2007

Considered harmful

Today's snowclone of the day arrived in email from Josh DeWald:

I'm a regular reader of Language Log and know that sometimes you guys track down sources of particular language use/memes. I've become curious about "X Considered Harmful". I think it originated in the 80s related to LISP or programing languages but that could be completely wrong (I'm a software engineer, so I'm biased).

The rise of "X considered harmful" as a phrasal template was sparked by Edsger Dijkstra's 1968 letter "Go To Statement Considered Harmful", published in the Communications of the ACM, Vol. 11, No. 3, March 1968, pp. 147-148. According to the Wikipedia article on "considered harmful" (you knew there had to be one, right?):

The original title of the letter, as submitted to ACM, was "A Case Against the Goto Statement," but ACM editor Niklaus Wirth changed the title to the now immortalized "Go To Statement Considered Harmful."

This view is supported by a quote from Dijkstra in his obituary in The Register:

"I had submitted a paper under the title 'A case against the goto statement', which in order to speed up its publication, the editor had changed into a 'Letter to the Editor', and in the process he had given it a new title of his own invention! The editor was Niklaus Wirth".

Under Wirth's title, Dijkstra's letter made a big impression, and the title's rhetorical impact was reinforced by a response and counter-response entitled "'GOTO Considered Harmful' Considered Harmful" and "'"GOTO Considered Harmful" Considered Harmful' Considered Harmful?".

However, "X considered harmful" was already a well-established journalistic cliche in 1968 -- which is why Wirth chose it. The illlustration above shows the headline of a letter to the New York Times published August 12, 1949: "Rent Control Controversy / Enacting Now of Hasty Legislation Considered Harmful". I'm sure it's not the earliest example of this phrase used in a headline or title, either -- I chose it only as a convenient illustration of usage a couple of decades before the date of Dijkstra's paper.

Note that this example is also in the title of a slightly cranky letter to the editor - it's probably not an accident that the first example that came to hand of "considered harmful" in a pre-Dijkstra title was of this type.

The phrase "is considered harmful", in itself, is an ordinary combination of words, whose form is regular and whose meaning is the usual kind of function of the meanings of its parts, and was in common use a hundred years ago. Thus Mary Rankin Cranston, "Child Wage-Earners in England", The Craftsman XII (4) July 1907, p. 427

"Street trading is considered harmful for girls under sixteen, therefore is some places is prohibited, and in others carefully safeguarded, according to local dangers and customs."

In headlines and titles, "X considered harmful" was a way for an editor to alert readers that the writer is going to be expressing negative opinions about X. In these more informal days, the same function might be fulfilled in headlines by phrases like "seen as bad policy" or "viewed as bad thing".

Dijkstra's argument against the use of the goto statement was an interesting and subtle one:

[O]ur intellectual powers are rather geared to master static relations and that our powers to visualize processes evolving in time are relatively poorly developed. For that reason we should do (as wise programmers aware of our limitations) our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.


The unbridled use of the go to statement has an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. Usually, people take into account as well the values of some well chosen variables, but this is out of the question because it is relative to the progress that the meaning of these values is to be understood! With the go to statement one can, of course, still describe the progress uniquely by a counter counting the number of actions performed since program start (viz. a kind of normalized clock). The difficulty is that such a coordinate, although unique, is utterly unhelpful.

A much greater danger, however, is posed by the come from statement and its many practical approximations.

Posted by Mark Liberman at July 3, 2007 06:33 AM