相关疑难解决方法(0)

没有null的语言的最佳解释

当程序员抱怨空错误/异常时,有人经常会问我们做什么而没有null.

我对选项类型的酷感有一些基本的想法,但我没有最好的表达它的知识或语言技巧.对于普通程序员可以接近的方式写的以下内容有什么好的解释,我们可以指出那个人?

  • 默认情况下,引用/指针的不可取性是可以为空的
  • 选项类型的工作原理包括简化检查空案例的策略
    • 模式匹配和
    • monadic理解
  • 替代解决方案,如消息吃零
  • (我错过了其他方面)

null programming-languages functional-programming nullpointerexception non-nullable

223
推荐指数
7
解决办法
4万
查看次数

null的目的是什么?

我在编译器类中,我们的任务是从头开始创建自己的语言.目前我们的困境是是否包含'null'类型.null提供了什么目的?我们的一些团队认为这不是绝对必要的,而其他人则只是因为它可以提供额外的灵活性.

你有什么想法,尤其是支持或反对null吗?您是否曾创建过需要null的功能?

language-agnostic compiler-construction null language-design

38
推荐指数
10
解决办法
4834
查看次数

不可为空的引用类型

我正在设计一种语言,我想知道默认情况下使引用类型不可为空是否合理,并使用"?" 可以为空的值和引用类型.这有什么问题吗?你会怎么做:

class Foo {
    Bar? b;
    Bar b2;
    Foo() {
        b.DoSomething(); //valid, but will cause exception
        b2.DoSomething(); //?
    }
}
Run Code Online (Sandbox Code Playgroud)

language-design non-nullable

12
推荐指数
3
解决办法
2981
查看次数