1968年,荷兰计算机科学家Edsger Dijkstra在《计算机协会通讯CACM》期刊上发表了一篇文章,开头就对编程语言中常见的语句大加挞伐:"多年来我一直注意到一个规律:程序员的水平跟他们代码里用语句的密度成反比……我深信,所有'高级'编程语言都必须废除语句。"
文章的标题一开始并不是《语句有害》( GotoStatementConsideredHarmful ),而是时任《计算机协会通讯CACM》编辑Niklaus Wirth改的。这个中二感爆棚的标题一经发表,立即引起了轰动,用今天的话来说就是"直接把话题热度拉满"。
Wirth的"神来之笔",犹如执行了一条后果不明的语句,一下子带火了"X considered harmful"这个在互联网中吸睛效果满满却早已不新鲜的烂梗,也带癫了计算机学术界。随后各种有害论的文章雨后春笋般涌现,如今在谷歌学术上以"considered harmful"为关键词的搜索结果有六万多条。
其中一些观点放在今天看来让人莞尔,比如人工智能之父、1971年图灵奖得主John McCarthy发表过一篇文章,标题是《网络对电子邮件有害》。文章的观点,听起来像今天有人说手机对短信有害,但别忘了,这可是互联网还没普及年代的严肃发言!
真正把"X considered harmful"梗推向高潮的,是围绕Dijkstra原文的一场编程界内卷——以结构化编程之争为主题的多轮论战。
时间一晃过了小二十年,1987年3月Frank Rubin发表了篇怒斥《有害论》的反击文章,标题叫《有害论才有害》。一石激起千层浪,俩月之后CACM集中刊发了一系列题为《'有害论才有害'到底害不害?》的讨论,汇集了正反双方多家观点。可见擅长多层嵌套的编程大神们玩起套娃梗乐此不疲,丝毫不输任何一场热门弹幕大战。
不过论战的大男主Dijkstra坐不住了,非常不爽地以题为《记一次令人失望的笔谈》的战斗檄文直接开喷。开篇就大加抱怨以为你们多少有些长进能替我分忧,没想到我还是独孤求败,到了结尾仍旧怒气未消都过了二十年你们还是幼儿园撒尿和泥的拉胯水平,搁那玩呢?!
这场论战影响深远,ACM从此禁止了主观意味如此浓厚的讨论,但也进一步把"X considered harmful"推向了潮流前沿。以至于又过了十几年有人忍无可忍呼吁《'有害论'文章实在有害》,连自相矛盾都顾不上了。
Dijkstra的《有害论》不 仅仅对编程语言 产生了深远影响,它还成为了一种流行文化现象。这个梗广泛应用于各种领域,从软件工程到哲学。
"有害论"是程序员界的一个经典梗,它不仅反映了编程语言发展的历史,也体现了程序员们对语言设计的争论和思考。尽管"有害论"已经过去了半个多世纪,但它所揭示的问题仍然值得我们深思。
今天,我们已经有了更加强大的编程语言和工具,但我们仍然需要谨记:编写清晰、可维护的代码是一项艰巨的任务。而"有害论"则时刻提醒着我们,在编程中,简单并不总是更好。
本文地址:http://dy.qianwe.com/article/3398.html