最近对SCALA进行了一些尝试,简单说一下学习的感受。
首先,我觉得这是一门比较好玩的语言,其语言的结构、设计模式的自然融入、对实际工程化和理想学术化的双重考虑等等,深深的吸引了我;
其次,SCALA是一门很高效、精辟的语言,一旦你熟悉它的编程理念,它可以让你的代码更加简洁、更容易理解和维护,从JAVA转到SCALA会让你有一种从C++跳到JAVA的感觉,很多啰嗦冗余的东西没了,很多设计模式之类的东西语言本身就帮你考虑了;
第三,SCALA是一门基于JVM的语言,它直接跑在JVM上,用SCALA编译出来的东西和用JAVA编译出来的东西是同种类型的字节码,甚至现在最流行的JAVA编译器就是SCALA的作者写的,这使得SCALA运行性能可以与JAVA媲美,另外,SCALA还可以使用充分利用现有的JAVA技术栈,也正因为如此很多企业也愿意去尝试它。
其四,SCALA也不是那么容易学的,光它里面那个泛型符号([A<:T], [A>:T], [A%:T], [+A,-B]... )就够你折腾的,它的学习曲线也决定了SCALA不会大规模的使用开来,不会像JAVA一样普及,但是这并不代表它不能派上大用场,其实也不光是SCALA,所有语言都一样,只要你能深刻理解并灵活运用,都能够企业化工程化。
说了这么多废话,下面简单来个hello world!
首先去官网下载个scala版本(http://www.scala-lang.org/download/),目前最新稳定版是2.11.4,linux版本解压后就直接能用,windows的需要安装下。(需要预装JRE)
//-----------hello.scala-----------
println("Hello World!")
运行 scala hello.scala,是不是很简单,scala可以作为脚本运行;当然,如果你比较习惯java的方式,也可以这样写
object Hello {
def main(args: Array[String]) {
println("Hello World!")
}
}
scala hello.scala
如果是以非脚本方式,你也可以先编译再运行
scalac hello.scala; scala Hello
或者启用后台编译进程编译
fsc hello.scala; scala Hello
注意,由于fsc方式需要监听本机host,故你必须配置host,否则会提示错误。
本文只是简单说下个人对SCALA的一些看法,具体语言介绍后期的博客继续给出,期望与大家一起学习进步。最后推荐几个scala学习的教程:
1、Scala 编程
2、快学 Scala
3、SCALA程序设计-JAVA虚拟机多核编程实战
4、Scala In Action
5、Beginning Scala
6、Scala By Example