Scala 是一个什么样的语言!谢谢解答!由衷谢谢、

 我来答
Anson0370
2012-08-29 · TA获得超过1462个赞
知道小有建树答主
回答量:702
采纳率:100%
帮助的人:693万
展开全部
这个问题比较宽泛,简单的说一下。

首先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看到很多新鲜的东西,好的语言让人有去把玩它用它创造东西的欲望。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式