Scala 是一个什么样的语言!谢谢解答!由衷谢谢、
展开全部
这个问题比较宽泛,简单的说一下。
首先scala是运行在jvm上的,也就是说scala会被编译为和java编译后的class一样的字节码。这也代表scala和java是可以互相调用并且它们可以联合编译,不过实际上来说scala调用java很容易,而java调用scala会遇到一些问题。
其次scala是一个静态类型的语言,它通过类型推断来隐藏大部分的类型声明信息,让它的语法达到动态类型语言的简洁程度。但因为scala的静态类型特点,它的性能接近原生的java,高出groovy相当多。
再次scala同时提供两种编程范式的支持,OOP和FP,至于什么是FP,这里不展开讲,可以自行google。
scala在java的基础上引进了很多现代高级语言的特性,比如闭包、对DSL的友好支持、trait的混合以及扩展已有类型能力的方法(通过隐式转换)。但也因为scala引入的这些特性,使scala的语法显得独特并且有很多特例,对于刚开始接触scala的人来说,看scala代码经常会看的云里雾里的。
另外scala支持的FP范式和actor模型让scala的高并发编程相对java来说更清晰易读,容易实现。
简单比较scala | groovy | java的话:
语法: 独特 | 类似java | java
类型系统: 静态 | 动态 | 静态
性能: 好 | 差 | 好
表达力: 好 | 好 | 差
灵活度: 较好 | 好 | 差
易读: 差 | 好 | 好
个人认为scala是一个很有魅力的语言,如果是只接触过C一族语言(C/C++/Java)的人应该会从scala看到很多新鲜的东西,好的语言让人有去把玩它用它创造东西的欲望。
首先scala是运行在jvm上的,也就是说scala会被编译为和java编译后的class一样的字节码。这也代表scala和java是可以互相调用并且它们可以联合编译,不过实际上来说scala调用java很容易,而java调用scala会遇到一些问题。
其次scala是一个静态类型的语言,它通过类型推断来隐藏大部分的类型声明信息,让它的语法达到动态类型语言的简洁程度。但因为scala的静态类型特点,它的性能接近原生的java,高出groovy相当多。
再次scala同时提供两种编程范式的支持,OOP和FP,至于什么是FP,这里不展开讲,可以自行google。
scala在java的基础上引进了很多现代高级语言的特性,比如闭包、对DSL的友好支持、trait的混合以及扩展已有类型能力的方法(通过隐式转换)。但也因为scala引入的这些特性,使scala的语法显得独特并且有很多特例,对于刚开始接触scala的人来说,看scala代码经常会看的云里雾里的。
另外scala支持的FP范式和actor模型让scala的高并发编程相对java来说更清晰易读,容易实现。
简单比较scala | groovy | java的话:
语法: 独特 | 类似java | java
类型系统: 静态 | 动态 | 静态
性能: 好 | 差 | 好
表达力: 好 | 好 | 差
灵活度: 较好 | 好 | 差
易读: 差 | 好 | 好
个人认为scala是一个很有魅力的语言,如果是只接触过C一族语言(C/C++/Java)的人应该会从scala看到很多新鲜的东西,好的语言让人有去把玩它用它创造东西的欲望。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询