|
我来谈点楼上All of them都没有谈到的东东。
Scala的最大特点是兼容Java,毕竟在编程界,Java是排名第一或者第二的语言,如果不取悦于Java程序员,那么Scala可能就会象Dart、Rust[1]等语言那样,非常小众。Java拥有无比庞大的社区、无数的开源库,这些都是Scala的养分。Scala代码可以调用Java方法,访问Java字段,继承自Java类和实现Java接口。
Scala的第2大特点是语法简洁,实现同样的功能,用Scala编写代码,代码行数可以减少很多。Scala类写起来很快,读起来很容易,更重要的是,比Java类更不容易犯错。尤其是Scala的类型推断,使程序变得更有条理和易读。
Scala的第三大特点是静态类型。像类型推断之类的功能对于编程确实很方便。
我个人对Scala也有一些不满意。
1. 我习惯使用Eclipse IDE开发环境,而Scala虽然有Eclipse的插件,即The Scala IDE for Eclipse,但是这个插件发展的太缓慢,到目前为止,只支持Eclipse 3.6和Eclipse 3.7。对于最新的Eclipse 4.2版,居然不支持,一安装就会出错。真是落后于时代。
2. Scala IDE插件目前只支持Java 5和Java 6,对于最新的Java 7版,运行存在一些问题。这又是一大落后的表现。Scala你就不能发展快一点吗?就好像现在很多人在用Chrome或IE9一样,但是还有不少人还坚持使用IE6。让Web开发者深感痛苦,不得不做更多的工作去兼容落后的玩意儿。
吐槽就到这里,下回继续吐。
注1:Rust是Mozilla推出的语言,创建这个新语言的目的是为了解决一个很顽疾的问题:软件的演进速度大大低于硬件的演进,软件在语言级别上无法真正利用多核计算带来的性能提升。Rust是针对多核体系提出的语言,并且吸收一些其他动态语言的重要特性,比如不需要管理内存,比如不会出现Null指针等等。 |
|