2 月我花了 15 天翻译了一篇文章《重新审视 <GOTO 语句被认为有害>》。里面有 Dijkstra 《 Go to 语句被认为有害》的原文,还有相关历史和评价,想详细了解的话可以看看。
Dijkstra 的原话如下:
“现在的 go to 语句太原始了;太多地把程序弄得一团糟。如果控制 go to 的使用,它还是可以被考虑使用并被欣赏的。
...
go to 语句不合需要的说法并非新鲜事物。我记得读过明确的建议,建议上明确推荐只将 go to 用在警报时的退出 (alarm exit),但是我无法查到在哪。”
这里 alarm exit 就是现在常说的抛异常,原文中 Dijkstra 的意思是,当编程语言没有如异常处理机制之类的设施时,goto 是可以被用作提高程序表现力的。
《重新审视 <GOTO 语句被认为有害>》的链接:
https://www.emon100.me/goto-translation/我的译后感:
https://blog.emon100.me/2020/02/10/%E7%BF%BB%E8%AF%91%E3%80%8A%E9%87%8D%E6%96%B0%E5%AE%A1%E8%A7%86-GOTO-%E8%AF%AD%E5%8F%A5%E8%A2%AB%E8%AE%A4%E4%B8%BA%E6%9C%89%E5%AE%B3-%E3%80%8B%E7%9A%84%E6%84%9F%E6%83%B3/