編程語言 Scala 2.10.5 發布
Scala是一門現代的多范式編程語言,志在以簡練、優雅及類型安全的方式來表達常用編程模式。它平滑地集成了面向對象和函數語言的特性。
Scala 2.10.5 發布,此版本是 Scala 2.10.x 系列的最后一個維護版本,強烈建議大家升級到 Scala 2.11.6 版本。
Scala 2.10.5 值得關注的改進:
-
修復了 Scaladoc's JavaScript 一個跨站腳本漏洞
對比 2.10.4 版本,此版本解決了 10 issues。
Scala IDE 現已提供下載。
相比 2.10.4 版本的改進內容:
Library
-
SI-7710 fix memory performance of RegexParsers in jdk7u6+ (fceae7084c)
-
SI-8589 Performance improvement for ArrayCharSequence.toString (099a426dd6)
-
SI-8689 Avoid internal error in Promise after sequence of completions (bf20737faa)
-
SI-8787 Backport Regex doc (887622759d)
XML Support
-
SI-4339 Event errors and attribute fix (fe7867f8a7)
-
SI-9027 xml parser fix (736293ab09)
-
SI-9060 Backpatch fifth-edition names (b4e3becbf3)
Compiler
-
SI-7753 substitution broken for dependent types (2f5ff595fd)
-
SI-7756 Uncripple refchecks in case bodies (0022dccfde)
-
SI-8442 Ignore stub annotation symbols in
AnnotationInfo#matches
(8262ed2fc6) -
SI-8596 Fix rangepos crasher with defaults, poly methods (d288790429)
Scaladoc
-
SI-8479 Fix constructor default args under scaladoc (c4561c1d49)
-
Scaladoc js location synch more robust (f95b5b9b80)
Macros/Reflection
-
SI-7470 implements fundep materialization (0c5dd9e02f)
-
SI-8196 Runtime reflection robustness for STATIC impl details (7b72f95a9e)
-
-Xfundep-materialization => -Yfundep-materialization (5966a11ae1)
-
transformers no longer ignore UnApply.fun (36379cf8af)
-
no longer warns on calls to vampire macros (db300d4d9e)
-
typecheck(q"class C") no longer crashes (3314d76ceb)
更多內容請看發行說明。

-
Scala是面向對象的:Scala是一個純面向對象語言,在某種意義上來講所有數值都是對象。對象的類型和行為是由class和trait來描述的。Class的抽象可由子類化和一種靈活的基于mixin的組合機制(它可作為多重繼承的簡單替代方案)來擴展。
-
Scala是函數式的: Scala還是一個函數式語言,在某種意義上來講所有函數都是數值。Scala為定義匿名函數提供了一種輕量級的語法,它支持高階(higher- order)函數、允許函數嵌套、支持局部套用(currying)。Scala的case類及其內置支持的模式匹配模型代數類型在許多函數式編程語言中 都被使用。
-
Scala是靜態類型的:Scala配備了一套富有表現力的類型系統,該抽象概念以一種安全的和一致的方式被使用。
-
Scala是可擴展的:Scala的設計承認了實踐事實,領域特定應用開發通常需要領域特定語言擴展。Scala提供了一個獨特的語言組合機制,這可以更加容易地以類庫的形式增加新的語言結構:兩者結合使用可方便地定義新語句,無需擴展語法,也無需使用類似宏的元編程工具。
-
任何方式可以被用作中綴(infix)或后綴(postfix)操作符
-
閉包按照所期望的類型(目標類型)自動地被構造
-
Scala可與Java和.NET進行互操作:Scala 設計時就考慮了與流行編程環境良好交互,如Java 2運行時環境(JRE)和 .NET框架(CLR)。特別是與主流面向對象語言,如Java和C#盡量無縫交互。Scala有像Java和C#一樣的編譯模型(獨立編譯,動態裝載 類),允許訪問成千上萬的高質量類庫。
</ul>
來自:http://www.oschina.net/news/60322/scala-2-10-5