2014/8/11

Hello Scala

因應函數式語言的演化趨勢,Scala 選擇不再繼續用拙劣的 Java 語法加入 Functional Language 的特性,而是用另一個方式強化 Java 語言,以 Scala 撰寫的程式,可以直接在 JVM 裡面運作,這代表 Scala 可以直接使用既有廣大的 Java 函式庫,wiki 裡面第一句話,就明確地定位了 Scala: Scala is an object-functional programming and scripting language for general software applications. 對於 Java Programmer 來說,可以先閱讀這一篇文章,了解 Scala:Scala vs Java:兩者間的差異與相似處

安裝 scala 開發環境,首先是需要把 JDK 跟 scala SDK 裝好,第二步是安裝 scala IDE,第三步撰寫 Hello World 程式,就等於是把 scala 環境準備好了。

Step 1: SDK

到網站 http://www.oracle.com/technetwork/java/javase/downloads/index.html 下載並安裝 JDK,目前我們還是習慣用 JDK 7。

JDK 安裝完成後,記得要自己設定環境變數 JAVA_HOME 到安裝的目錄,並增加 %JAVA_HOME%\bin 到 PATH 環境變數中。

到網站 http://www.scala-lang.org/download/ 下載並安裝 Scala,目前的版本為 2.11.2,安裝完成後,程式會自動把 scala 的 bin 目錄設定到 PATH 裡面。

Step 2: IDE

因為我們已經裝了 Eclipse,根據網站 http://scala-ide.org/download/current.html 的說明,我們使用 plugin 的方式安裝IDE。

把 2.11.2 版的 IDE update site http://download.scala-ide.org/sdk/helium/e38/scala211/stable/site 增加到 Eclipse 軟體列表中就可以進行安裝,除了 Source 不安裝之外,我點選了其他四個項目。

Step 3: Hello World

點擊 File -> New -> New Scala Project 可新增一個 Hello World scala project。

查看 project library 的地方會發現,project 把 JDK 跟 scala SDK 的 libraries 都加進來了。

新增一個 HelloWorld scala object

package test

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello World")
  }
}

在 scala object 上點右鍵 -> Run As Scala Application,就可以在 console 上看到列印出來的字串 Hello World。

Step 4: Command Line

如果不借助 IDE 的協助,我們可以直接在 Command Line 環境進行編譯與執行。

先打開 windows command prompt 切換到 project 的 src 目錄,用以下指令編譯 object

scalac test\HelloWorld.scala

會在 test 目錄中看到 HelloWorld.class 與 HelloWorld$.class 兩個 class。

再用以下指令執行

scala -classpath . test.HelloWorld