Scala

Scala係一隻多範式嘅編程語言，設計初衷係要整合物件導向編程同埋函數式編程嘅各種特性。

平台同埋許可證 
Scala運行喺Java平台，仲兼容依家嘅Java程式。佢仲可以喺CLDC配置嘅Java ME入面運行。曾經有過另一.NET平台嘅實現，不過該版本已被放棄。

Scala嘅編譯模型同Java同埋C#一樣，所以Scala代碼可以用Java類庫。

Scala套件包括編譯器同埋類庫，以BSD許可證發布。

史 
洛桑聯邦理工學院嘅Martin Odersky喺2001年基於嘅工作開始設計Scala。Funnel係將函數式編程思想同埋佩特里網相結合嘅一隻編程語言。 Odersky之前喺同埋javac做嘢。Java平台嘅Scala喺2003年底/2004年初發布。.NET平台嘅Scala喺2004年6月發佈。呢隻語言第二個版本，v2.0，喺2006年3月發佈。

Scala 2.8嘅特性包括重新寫過嘅Scala容器庫、命名參數同埋默認參數、包對象，仲有延續性。

2012年1月，出咗版本2.9.1。

2012年4月，出咗版本2.9.2。

用Scala嘅軟件 
 2009年4月，Twitter宣布佢哋已經將大部分後臺程式由Ruby搬去Scala，剩返嘅部分到打算要搬埋。  
 已經公開宣稱，佢成個平台都已經係基於Scala基礎設施編寫嘅。
 瑞銀集團將Scala用喺一般產品入面。
 Coursera將Scala當做伺服器語言用。
 多鄰國，一個線上嘅免費語言學習平台，用 Scala編寫。

用Scala嘅框架 
Lift係開源嘅Web應用框架，目的係提供類似Ruby on Rails嘅嘢。因為Lift用咗Scala，所以Lift嘅應用程式可以用到目前所有嘅Java庫同埋Web容器。

Hello World例子 
下面係用Scala編寫嘅典型Hello World程式：

object HelloWorld extends App {
    println("Hello, world!")
 }
或者
 object HelloWorld {
   def main(args: Array[String]) {
     println("Hello, world!")
   }
 }

如果呢個程式保存咗做HelloWorld.scala文件，咁樣之後就可以用下面嘅命令行進行編譯：

> scalac HelloWorld.scala

如果要運行：
 > scala -classpath . HelloWorld

呢行命令編譯同運行Java嘅「Hello World」程序非常相似。事實上，Scala嘅編譯同埋執行模型同Java係等效嘅，所以佢都可以兼容喺Java嘅構建工具，例如Ant。

直接用Scala解釋器都可以運行呢個程式，用選項-i同埋選項-e就可以：

> scala -i HelloWorld.scala -e 'HelloWorld.main(null)'

試用 
下面係可以畀你試用Scala嘅網站：
ScalaTest
ScalaCheck，類似喺Haskell嘅QuickCheck嘅庫
specs，用喺Scala嘅行為驅動嘅開發工具庫
JUnit

注意：預設嘅Scala庫SUnit已經喺2.8.0版入面整走咗。

書 
 Programming in Scala(ISBN 978-0-9815316-0-1)  - 一本由 , Lex Spoon, 同埋 Bill Venners 寫嘅 Scala 書，最啱比初學者睇。
 Beginning Scala(ISBN 978-1-4302-1989-7) - 一本由 David Pollak 寫嘅 Scala 書，主要講 Scala 嘅實際應用。
 Programming Scala(ISBN 978-1-934356-31-9) - Venkat Subramaniam 喺 Java 平台上發明咗高度可擴展、高度並發嘅應用程式。
 Programming Scala (ebook)

Scala website
 Scalachina
 Scala Tour,開源Scala指南 
 Scala教學

函數式編程語言
面向對象的編程語言
靜態類型編程語言
模式匹配編程語言
.NET程式語言
JVM程式語言