1968年,荷兰计算机科学家Edsger Dijkstra在《计算机协会通讯CACM》期刊上发表了一篇文章,标题为《语句有害》,引发了计算机学术界的一场热烈争论。
"语句有害"的诞生
Dijkstra的文章开头便对编程语言中常见的语句大加挞伐,认为语句会打乱程序的逻辑结构,让代码变成一团乱麻。
时任《CACM》编辑Niklaus Wirth嫌Dijkstra的标题不够吸睛,将之改成了更加耸人听闻的《语句有害》。这个标题一出,立刻引起了轰动,吸引了众多计算机科学家的关注。
论战的升级
Dijkstra的文章发表后,在学术界引发了激烈的争论。各种各样的"有害论"文章如雨后春笋般涌现,其中不乏一些让人啼笑皆非的观点,比如人工智能之父John McCarthy发表的文章《网络对电子邮件有害》。
这场争论的焦点在于结构化编程的利弊。Dijkstra等人认为,结构化编程可以使代码更加清晰易懂,而其他一些计算机科学家则认为,结构化编程过于教条,限制了程序员的创造力。
最著名的论战之一是由Frank Rubin在1987年发起的。Rubin发表了一篇反击文章《有害论才有害》,引发了《CACM》杂志的一系列讨论,汇集了正反双方多家观点。
这场论战的主角Dijkstra对讨论结果非常不满,他发表了一篇题为《记一次令人失望的笔谈》的文章,对论战的水平大加批判。
"有害论"的意义
尽管"有害论"论战最终不了了之,但它对计算机科学的发展产生了深远的影响。这场论战促进了结构化编程的普及,也让程序员们意识到了代码可读性和可维护性的重要性。
"有害论"还成为了一个流行的互联网梗,被广泛用于表示对某事物或某人观点的强烈反对。这个梗也启发了无数的衍生作品,例如《"有害论"文章实在有害》等。
结语
"有害论"论战是一场程序员的自我反思与学术界的狂欢,它既反映了计算机科学领域的激烈争论,也推动了该领域的不断发展。尽管"有害论"本身早已成为历史,但其精神却一直激励着计算机科学家们追求代码的清晰、可读和可维护。
相关链接
- Edsger W. Dijkstra. (1968). Go to Statement Considered Harmful. CACM, Volume 11 Issue 3, PP. 147-148.
- Frank Rubin. (1987). "Go To Statement Considered Harmful" Considered Harmful. CACM, Volume 30 Issue3, P. 197.
- Dissenting Opinions on "Go To Statement Considered Harmful" Considered Harmful. CACM, Volume 30 Issue 5, PP. 350-351.
- Edsger W. Dijkstra. (1988). On a Disappointing Paper. CACM, Volume 31 Issue 8, PP. 856-858.
- Go to statement. Wikipedia.
发表评论