讀古今文學網 > Java程序員修煉之道 > 第9章 Scala:簡約而不簡單 >

第9章 Scala:簡約而不簡單

本章內容

  • Scala不是Java
  • Scala語法及更加函數化的風格
  • match表達式與模式
  • Scala的類型系統和集合
  • Scala並發之actor

Scala是出自學術界和編程語言研究社區的語言。由於其強大的類型系統和先進特性,又有精英團隊證明了其價值,它已經贏得了一定數量開發者的青睞。

現在Scala裡有很多有意思的地方,但要評判它能否完全滲入Java生態系統,以及能否挑戰Java語言的霸主地位,還為時尚早。

最合理的預測是Scala會被更多的團隊接受,並最終被項目採納。在接下來的三四年中,我們預計會有大量開發人員在項目中見到Scala的身影。也就是說作為優秀的Java開發者,你應該瞭解它,能判斷出它是否適用於自己的項目。

例子 金融風險模擬應用可能需要採用Scala新穎的面向對像方式、類型推斷、靈活的語法、新的集合類(包括自然的函數式編程風格,比如映射/過濾器慣用語),以及基於actor的並發模型。

對於Java開發人員來說,剛開始接觸Scala時最應該牢記於心的是:Scala不是Java。

這看起來似乎是顯而易見的。畢竟,每種語言都不同,Scala當然也和Java不一樣。但我們在第7章提到過,有些語言非常相似。第8章介紹Groovy時也在強調它和Java相似的地方。希望這些內容在你首次探索Groovy這門非Java JVM語言時能夠對你有所幫助。

本章我們想做點不一樣的事情,先突出Scala中一些非常獨特的語言特性。我們喜歡把這比喻成「Scala的宜居之所」,告訴你怎麼寫Scala代碼才不會像是從Java翻譯過來的。之後我們會闡述項目問題,搞明白Scala是不是適用於你的項目。然後,我們看一些Scala在語法上的創新,這些創新讓Scala代碼變得即簡潔又漂亮。接下來是Scala處理面向對象的方式,然後是一節介紹集合和數據結構的內容。最後收尾的一節是關於Scala並發和它強大的actor模型的內容。

在討論Scala的獨特性時,我們會一併解釋它的語法(以及其他必要的概念)。跟Java比,Scala是一門相當龐大的語言,需要掌握的基礎概念和語法點更多。這就是說你要做好心理準備,隨著接觸到的Scala代碼越來越多,你需要自己花時間和精力去更多地探索這門語言。

我們先來大體看一下後面會遇到的一些主題。這能幫你熟悉Scala不同的語法和思維方式,並幫你打下基礎,以便更好地學習新知識。