Scala

From Wikipedia, the free encyclopedia

Scala
Remove ads

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

Quick Facts 編程範式, 設計者 ...
Remove ads

平台同埋許可證

Scala運行喺Java平台Java虛擬機),仲兼容依家嘅Java程式。佢仲可以喺CLDC配置嘅Java ME入面運行。曾經有過另一.NET平台嘅實現[8],不過該版本已被放棄。[9]

Scala嘅編譯模型(獨立編譯,動態類加載)同Java同埋C#一樣,所以Scala代碼可以用Java類庫(要實現.NET就要用.NET類庫)。

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

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

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

2012年1月,出咗版本2.9.1。

2012年4月,出咗版本2.9.2。

用Scala嘅軟件

  • 2009年4月,Twitter宣布佢哋已經將大部分後臺程式由Ruby搬去Scala,剩返嘅部分到打算要搬埋。 [14]
  • Wattzon英文Wattzon已經公開宣稱,佢成個平台都已經係基於Scala基礎設施編寫嘅。[15]
  • 瑞銀集團將Scala用喺一般產品入面。[16]
  • Coursera將Scala當做伺服器語言用。[17]
  • 多鄰國,一個線上嘅免費語言學習平台,用 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(如果要運行額外嘅代碼,就要實際執行HelloWorld對象嘅方法)就可以:

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

試用

下面係可以畀你試用Scala嘅網站:

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

參考

出面網頁

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads