Ima*_*ist 13 null programming-languages language-design
我知道在编程语言中不需要NULL,我最近决定不在我的编程语言中包含NULL.声明是通过初始化完成的,因此不可能有一个未初始化的变量.我希望这将消除NullPointerException支持更有意义的例外或者根本没有某些类型的错误.
当然,由于语言是用C实现的,因此在封面下会使用NULL.
我的问题是,除了使用NULL作为错误标志(这是用异常处理)或作为数据结构的端点,如链接列表和二叉树(这是由有区别的联合处理)是否有任何其他用例为NULL哪个我应该有解决方案?没有NULL可能会给我带来什么问题吗?
Tony Hoare最近在LtU上引用了一篇名为Null References:Billion Dollar Mistake的文章,它描述了一种允许在编程语言中出现 NULL 的方法,但也消除了引用这种NULL引用的风险.看起来很简单,但这是一个如此强大的想法.
更新:这里是我阅读的实际论文的链接,其中讨论了在Eiffel中的实现:http://docs.eiffel.com/book/papers/void-safety-how-eiffel-removes-null-pointer-dereferencing