×

Loading...

Topic

This topic has been archived. It cannot be replied.
  • 工作学习 / 学科技术 / 没有null的世界真是太爽了。 +1
    不得不说,null简直是万恶之源。
    • you mean, nuke ?
    • 都转成exception了? +1
      • 其实这个才是祸根:-)
      • 遇到null时抛出exception很常见,不过有些情况还是要用到null的,比如outer join。
    • Instantiate immediately when declaring a variable? Force public default c-tor? prohibit abstract or interface?
      • 想一下,如果你的语言中没有primitive type,一切都是类。那么就可以这么做。
        当你声明 XXXX : someType的时候,即便你什么也不加,系统也会自动给你new 一个对象出来。

        没有null的好处当然是显而易见的,你永远不会因为调用了一个空指针而crash,或者throw exception。你也永远不用检查返回结果,除非你真的想要。这可以大大提高程序的可靠性和开发速度。

        不好的地方是无法区别这个值是否已经被重新设置过。当然这个问题也不难解决。至于错误处理,还是原来的办法,exception, log ...,只是不通过返回null这个形式。
        • 这个理解太半桶水了,再学深一点,理解一下immutable 和 Null State的好处再说吧。
          • 欢迎多讲讲。
    • 嗯,看来终于开始学习scala了。其实没有null的语言多了去了,你以前太沉迷在C++而已。有空看看haskell吧,打开新世界的大门。
      • I saw a job posting the other day looking for Scala Developer with Spark experience, the hourly rate is $100 and can be higher.
        • 现在很多公司把Spark看作是新的数据库系统了,一开始这些职位都是开80的,后来发现市场上找来找去都是半路Java出家用Spark的,倒不是没有人,就是太少,结果只会加钱
          • 我看到了。这种公司就是自找麻烦。到时候等Contractor走了,接手的人根本就没法维护。企业选择编程语言不是越酷越好,要结合实际。我写自用的程序才用Scala。 +1
            • 明白人,赞一个
              • 其实Java刚出来的时候大家也觉得不好。。。。路是人走出来的。
          • Spark和数据库有什么关系?
            • 你不知道Spark 为了推广自己简单易用,存在有 Spark SQL这样的神器吗?还可以用JDBC连的。放了个老文的链接自己看
          • 半路出家?这个怎么讲?有这个专业怎么着?
            • 你难道不知道Scala本来就是EPFL里面学习计算机语言开设的一门专业课吗?后来才走出校门。
              • 您的意思是只有这个地方出来的才不算半路出家的?
                • 同问。
                • 这里强调的是其比较深的学术背景,值得花些心思去更新知识体系,不只是看作“jvm上的又一语言”
      • 其实我最早是做LOGO, BASIC 和FORTUNE语言的。还学过DELPHI,PowerBuilder。。。
        • 然而这些没有突破本质上的知识结构
      • 其实C++也是可以没有null的,我沉迷在C++的时间不是太长,而是太短了。03年C++标准中就已经引入null state了。
        • c++在stl有optional是14才加进去的,之前都在boost,我说null state不是关键字,是通用描述,你可以wiki