作业帮 > 综合 > 作业

Scala 是一个什么样的语言!

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/13 05:34:12
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看到很多新鲜的东西,好的语言让人有去把玩它用它创造东西的欲望.