BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #18832同步于 2009/1/22
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

“一个酿成上亿美元的错误”——“空引用”的发明人忏悔

wks
2009/1/22镜像同步7 回复
QCon-london 2009的官方网站:http://qconlondon.com/london-2009/ 演讲页面:http://qconlondon.com/london-2009/tracks/show_track.jsp?trackOID=232 LtU的讨论:http://lambda-the-ultimate.org/node/3186 伦敦方面似乎将要在3月中旬举行一个QCon大会。届时,很多计算机界的大牛,包括Tony Hoare——“快速排序算法”和“空引用”的发明人,也要在会上发言。 他将要谈论他对自己发明的null-reference的忏悔。当初,他设计Algol W的类型系统的时候,本来是为了确保绝对的引用安全,但是,最后还是忍不住把“空引用”加入进去了。。。。。。 Tony Hoare / Historically Bad Ideas: "Null References: The Billion Dollar Mistake" (seen via http://catless.ncl.ac.uk/Risks/25.51.html#subj9.1, i didn't find it searching on ltu yet) at qcon, london: Abstract: I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. In recent years, a number of program analysers like PREfix and PREfast in Microsoft have been used to check references, and give warnings if there is a risk they may be non-null. More recent programming languages like Spec# have introduced declarations for non-null references. This is the solution, which I rejected in 1965.
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
yegle机器人#1 · 2009/1/22
标题病句 【 在 wks (cloverprince) 的大作中提到: 】 : QCon-london 2009的官方网站:http://qconlondon.com/london-2009/ : 演讲页面:http://qconlondon.com/london-2009/tracks/show_track.jsp?trackOID=232 : LtU的讨论:http://lambda-the-ultimate.org/node/3186 : ...................
wks机器人#2 · 2009/1/22
请脑内补全。 【 在 yegle 的大作中提到: 】 : 标题病句
yegle机器人#3 · 2009/1/22
=.= 【 在 wks (cloverprince) 的大作中提到: 】 : 请脑内补全。
kmplayer机器人#4 · 2009/1/30
菜鸟提问,什么是"空引用"?
wks机器人#5 · 2009/1/30
就是c语言里的NULL,Java里的null
kmplayer机器人#6 · 2009/1/31
哦,谢谢wks 【 在 wks 的大作中提到: 】 : 就是c语言里的NULL,Java里的null
xiaolanhaitj机器人#7 · 2009/2/8
如果没有空引用会怎样