zoukankan      html  css  js  c++  java
  • Java程序猿,你为什么要关注Scala

    这次让我们来看一看Martin Odersky对于Scala语言的设计目标是怎么说的。在创造“超越Java的语言”的过程中,详细都须要考虑到哪些方面呢?

    让步

    thinking in Javaprogramming in Scala

    Frank Sommers:您之前提到。想要创造一种存在于Java体系内,集成Java基础架构的语言。

    为了做到这一点。Scala要做出什么样的让步,使其可以兼容Java平台? 

    Martin Odersky:非常幸运,我们不须要做出太多妥协。或者说,非常难推断我们所做出的全部妥协都是对我们不利或是有利的。当中一个我们不得不做的妥协是购买Java的静态重载模型。

    或许我们应该更积极地尝试一些其它方法,如使用多方法,虽然当时我们尝试过这一点。但并没有充分探讨有关多方法的设计。

    或许直到今天也还没有充分探讨过。所以我不能全然肯定这样的方法是否行得通。这样的方法本来有着令人振奋的可能性。但我们并没有採用它,由于我们想保持与Java的兼容性。 

    另外一件时而会引来人们否定的事是Scala既包括Traits技术又包括类技术。大家觉得一个整洁的设计应该是仅仅採用Traits技术。眼下已有一些仅仅採用Traits而放弃类概念的整洁设计,但我们并没有这样做。

    由于我们想从这双方面保留与Java的互用性。

    我们希望有一种方式能够让Java代码非常easy地调用Scala代码。而Traits并不含有映射到Java的特性。由于在Java中根本不存在这样的技术。因此,我们选择了Java中所拥有的类的概念,由于我们希望能够向后映射,这样我们就能够非常easy地在两个方向保留互用性。

    第3个问题。与其说是语言上的问题。不如说是类库的问题。我们非常想要抛弃null(空值)这样的概念。

    NULL是非常多错误的根源。在Scala中,不同意null作为不论什么类型的可能值,取而代之的是选项类型(option type)。当然,有非常多Java类库中的类都返回null。我们必需要解决问题。

  • 相关阅读:
    JS小功能系列9商品筛选
    JS小功能系列8省市联动
    if u
    js属性
    js初识
    弹性盒
    项目合作
    css重置
    关于响应式布局
    自我定位
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/7305090.html
Copyright © 2011-2022 走看看