Scala 2.8最終發布 全新功能值得期待
【51CTO快譯】Scala 2.8終于來啦!經歷了7個RC版本,Scala終于迎來了2.8.0的Final版本,這是修正了大量Bug和增強了若干特性的最終版本。(請關注51CTO特別推薦專題:Scala編程語言)
經過數月的艱苦作戰,Scala團隊終于在昨天正式發布了Scala 2.8.0穩定版本,現在就可以從Scala的下載頁面進行下載:http://www.scala-lang.org/downloads#
Scala下載頁面(包括支持windows、Mac OS、Linux和Unix等操作系統的開發包)
該版本在2.7.7的基礎上修復了大量Bug,并添加了大量的新特性,下面就讓我逐個道來吧!
新特性
Scala 2.8.0包括以下新特性:
1、重新設計的集合庫
Scala 2.8對集合庫進行了全面的重構,提供了更加一致和有效的設計,同時保持了與現有源的完全兼容。
2、新的數組實現,支持多態
在Scala 2.8中,對數組的處理進行了簡化和優化,以前的編譯器已經被一個更系統化和可預知的實現取代。
3、類型特殊化
Scala 2.8增加了專門的類型參數,使編譯器可以根據給定的定義透明地生成多個版本。
4、命名和默認參數
命名參數改善了包含多個參數的方法調用可讀性,默認參數減少了代碼重復度,并為case類代碼提供了“copy”方法,可以快速生成case類代碼。
5、包對象
除了可以包含類和對象外,包現在也可以包含方法、字段或類型別名了,通過聲明一個包對象就可以將它們添加到一個包中了,在以后的版本中還有更多的功能添加到包對象中。
6、增強了Scala Swing庫,并提供了更好的參考文檔
組件發布關鍵事件,輸入事件,重構窗口子層,額外的demo,Swing監聽器,更完整的組件緩存,Bug修復,更好的參考文檔等。
7、REPL翻新
修復了許多Bug,Tab鍵自動完成classpath中的所有包,以及對象,實例方法和字段,包括對象別名和包對象,可搜索的歷史,集成Shell訪問,并提供了一個超級模式,可直接進入編譯器內部。
8、隱式轉換
完善了隱式轉換過程,現在可以確定類型的變化。
9、改進的等于比較
數值型比較現在和所有基元類型的比較一致了,同時也遵守等于/hashCode約定。
10、Packrat分析器組合
分析器組合現在可以處理左遞歸語法,并改進了性能。
11、改進的XML庫
修復了XML庫的許多Bug。
12、類型推斷
類型推斷已經擴大到處理類型構造,因此在某些情況下,你可以省略包含高度友好類型的類型參數列表。
13、改進的注解
Scala 2.8增加了對嵌入式Java注解的支持,對于字段的注解,現在可以指定哪個成員(getter / setter)將有注解。
14、增強的Actor
新的Reactor提供了輕量級,純基于事件的Actor,并可以隱藏發送者身份,支持后臺守護進程風格的Actor,Actor可以配置用于高效的JSR166y fork/join池,顯著地提升在1.6 JVM上的性能。調度程序現在也是可插入的,且更容易定制。
15、支持延續
延續是通過一個編譯器插件支持的,現在已經成為主要發行版的一部分。
內部改進
1、改進的編譯器
在Scala編譯器內,IDE可以與之掛鉤,提高查找程序結構相關信息的效率,也為開發IDE插件提供了更好的平臺。
2、新的生成管理器
可以智能檢測發生變化的文件,只編譯需要的Scala源文件,不用每次都執行完整的項目生成操作,這個技術極大地減少了大項目的編譯時間。
3、速度改善
編譯器現在運行的是優化后的代碼,此外,一系列改善措施和精細的調整使編譯器速度提升了一半。
Bug修復
Scala 2.8修復了數百個Bug。
其它工具
1、Scaladoc 2
嶄新的外觀,自動化的注解擴展和類wiki語法,以及編譯時錯誤檢查。
2、Sbaz 2
Sbaz包括許多Bug修復和改進,它現在可以使用cmd或cygwin在Windows下正常工作,并增加了自動更新功能,增加了對pack200的支持,在某些情況下,可以將文件大小減少70%。
3、Scalap
包含了由社區貢獻的新版本Scalap,新的Scalap可以識別包對象,并可以使用<package_name>.package來反編譯包。
4、Scala IDE for Eclipse
重寫了Scala IDE,許多功能都轉移到編譯器中去了,增強了代碼可維護性,也便于非Eclipse IDE和其它工具重用,此外,加深了與Eclipse JDT的集成,許多Scala特定的行為和功能現在直接由JDT提供。
原文出處:www.scala-lang.org/node/7009
原文名:Scala 2.8.0 final
【51CTO譯稿,非經授權謝絕轉載,合作媒體轉載請注明原文出處、作者及51CTO譯稿和譯者!】
【編輯推薦】
- Scala 2.8.0 RC2正式發布 新特性一覽
- Scala 2.8***個候選版發布 Bug修正成重點
- Scala 2.8.0 Beta 1發布
- Scala 2.8的for表達式:性能與運行順序的改進
- Scala 2.8新特性之命名參數概覽