Scala最近受到了大量關(guān)注
Scala語言的名稱來自于“可伸展的語言”,Scala 是一種函數(shù)對象混合的語言。它可以運行在Java 平臺上,Scala程序會被編譯為JVM的字節(jié)碼。它們的執(zhí)行期性能通常與Java程序一致。Scala代碼可以調(diào)用Java方法,訪問Java字段,繼承自Java類和實現(xiàn)Java接口
下載并安裝 Scala
可以從 Scala 主頁: http://www.scala-lang.org/ 下載 Scala 包,截止到目前為止,最新的發(fā)行版是 2.7.5-final,同時也提供了IDE的支持插件,Eclipse的Scala的插件下載地址為:http://www.scala-lang.org/node/94,也可以通過Eclipse 的Update Manager 的方式下載:http://www.scala-lang.org/scala-eclipse-plugin (現(xiàn)在的Eclipse 插件支持的好像比較差勁)
將Scala的下載壓縮包解壓,比如解壓地址是:C:\Program Files\Java\scala-2.7.5,然后設(shè)置環(huán)境變量,將SCALA_HOME 設(shè)置為:C:\Program Files\Java\scala-2.7.5,將SCALA_HOME\bin 添加到Path環(huán)境變量中,打開命令行輸入:scalac -version 測試,如果能夠正確輸入版本信息就OK了。
開始認識Scala
在計算機科學領(lǐng)域大家都達成了一個默契,通常都是使用“HelloWorld" 作為演示程序,這里也不例外,Scala的語法和Java還是存在很大不同,就像國外的一位大牛批判Scala是"為了不同而不同",為何不能像Groovy那樣采用和Java接近的語法,如果你是從JDK 轉(zhuǎn)到 Scala,學習Scala 的感覺可能會很不同,也可能有排斥它的情緒,其實,通常有這種感覺可能是因為對它不熟悉,如果深入了解背后的設(shè)計意圖,可能會改變你現(xiàn)在的觀點。
下面來看一下Java中的 HelloWorld寫法:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
Scala 的 HelloWorld :
1 object HelloWorld {
2 def main(args: Array[String]) {
3 System.out.println("HelloWorld");
4 }
5 }
這里的Scala的聲明類的方式和Java不同,Scala通過object來定義,在方法塊中使用“def“開始函數(shù)的定義,接著聲明函數(shù)名,在括號中指定參數(shù)列表,參數(shù)的聲明方式是參數(shù)名:參數(shù)的類型,方法的返回值類型是在函數(shù)名后的括號后面指定的,比如你聲明一個無參數(shù)的A 方法,返回值類型為Int可以這樣寫:def A():Int = {//方法內(nèi)容}; 上面的main函數(shù)顯示的指定返回值,系統(tǒng)默認返回值類型為Unit,相當于Java中的Void,不過Unit返回類型在最新的版本中已經(jīng)置為@Deprecated 了,也就是說不用顯示的指定返回類型Unit了,這樣方法就簡潔了許多。
這里只是比較了Scala的HelloWorld寫法,通過這么簡單的任務(wù)顯然和Java進行代碼簡潔性的PK是分不出高下。如果想看到更精彩的對決,建議參考Scala官方網(wǎng)站上的文檔:文檔:http://www.scala-lang.org/node/197 例子:http://www.scala-lang.org/node/219 ,IBM的官方網(wǎng)站也有文章對Scala進行詳細的介紹 http://www.ibm.com/developerworks/cn/java/j-scala/