sle*_*ske 17 language-agnostic null language-design
有许多人认为特殊值的概念null(因为它在C,Java,C#,Perl,Javascript,SQL等语言中使用)是一个坏主意.关于SO和P.SE有几个问题,例如没有null的语言的最佳解释和空引用真的是一件坏事吗?.
但是,我找不到任何没有它们的语言.我熟悉的所有语言null或类似的东西(例如Perl中的"undefined").
我意识到,每种语言都需要某种方式来表达"缺乏价值".但是,不是使用"null"或"undefined",而是使用Maybe(Haskell)或Optional(Guava)之类的东西也可以使其显式化.具有"null"或"undefined"的主要区别在于,如果对象具有特定类型(Maybe,Optional ...),则该对象只能具有"无值".相反,"null"/"undefined"通常是每种类型可能的有效值.
在这个意义上,是否存在没有"null"或类似概念的语言?
eml*_*lai 28
这是一个不完整的语言列表,没有null/ undefined/ nothing你所描述的意义,根据维基百科首次出现的年份排序.
None.nil,但在编译时阻止所有空指针异常.?语法的可选类型.?语法的可选类型.?语法的可选类型.undefined或null作为变体的联合类型.Maybe.?语法的可选类型.Option.?语法的可选类型.Option.?语法的可选类型.null.option.Maybe.随意补充列表.