2017年5月16日 星期二

牛亞真,周志湖 - 可完全取代Java的Scala

前幾年知道了Scala,最近又因為各種理由而想要學習它所以買了這本書來加快學習。起先是對其「函式式程式語言」的模式感到好奇。之後又聽聞它在平行運算上有不錯的表現,因此更加深了想要了解的欲望。

本書由對岸的兩名學者所撰,不過我一開始沒注意到,因為買的時候只翻看前面幾章,只對Scala做基本的介紹時看起來還ok。只是後面感覺有些頭痛。因為除了兩岸用語不太一樣的關係,大陸學者有時概念與描述欠缺節奏與一致性的問題,還有不知道為什麼不認真學一下UML而畫出十分詭異的圖這幾點讓我感到似曾相似,立馬就確認了是對岸的作品。

本書的標題很誇大。或許也很貼切。Scala或許可以完全取代Java。但Java也可以完全取代Scala。最近在下看到一個blog描寫了該格主對這類新技術的看法。他認為學一個完全可以用舊技術進行的東西,成本效益實在很可憎。這也或多或少改變在下對Scala的看法。

以語言的角度來看。如果已經掌握好Java的話,確實沒有必要朝Scala走去。畢盡Java的社群還是遠大於Scala;Scala能做到的事Java也做的到。Scala中針對平行運算的Actor其實Java也有,只是控制起來比較需要技巧一點。由於在下對自己的控制技巧蠻有自信的,因此Actor對在下而言魅力有限。其他特性老實說確實也非Scala不可。不過Scala還是有它的擁護者。在下也不便多說了。如果我看到它更有魅力的一面,會再投入多一點。

回到這本書吧。

本書作為Scala的學習本,個人覺得勉勉強強。如果您手上沒有任何Scala的東西可以看的話,它算是足夠的入門讀物,大概就是60分。中、後段有些跳tone的介紹不用執著,看看就好。

沒有留言: