由於筆者是資訊相關科系學生,目前接觸過的程式語言包含C++/Java等主流物件導向式語言,而函式編程風格的語言則完全沒接觸過。這令我不禁對函式編程產生好奇,於是想藉這個機會學習一下。
有兩個理由:幫助自己學習更多、幫助他人。
主要是避免自己在學習過程中懶惰,所以藉由這個平台記錄自己的每天所學。
一方面,要檢視自己的學習成果就看我能不能簡單解釋給別人聽,如愛因斯坦所說:「If you can’t explain simply, you don’t understand well enough.」,這是其中一個目標。
另一方面,在初認識Scala這門語言時,筆者發覺網路上相關的中文文章偏少,往往要以英文關鍵字搜尋才有相關資源。有鑑於此,讓初學Scala的讀者有更多中文資源可以學習也是我另一個目標。
Scala的名字起源於“Scalable language”,即可擴展的語言。之所以這樣命名,是因為它被設計來隨著用戶的需求一起成長。
而從技術上來說,Scala是一個融合了物件導向和函式編程概念的靜態語言。
Scala
的優點1.Scala是兼容的,可運行於JVM之上、調用Java方法、從Java類別繼承、實作Java介面。
2.精簡、易理解、寫起來更快
3.靜態語言
Scala
的缺點1.不適合作為學習寫程式的入門語言
2.網路上的學習資源相較其他程式語言少
其他有關Scala的安裝及語法性質在後面天數會依序介紹到,第一天就先介紹到這邊吧!