學習Scala也不過是幾個月的事情, 實際上還沒用Scala做過的複雜系統, 只有自己簡單的做一些範例練習
我的Scala觀念主要是來自這本書 Scala in Action
以及部分網路上的教學來補足其他部分
所有的Scala觀念都是以Scala in Action一書為主,
分享的內文邏輯和部分例子, 都有參考該書,
是經過我腦袋自己重整, 加上自己的想法後才分享出來
想要更仔細了解Scala, 建議親自去看該書
會開始寫這Scala分享文, 主因是讓腦袋整理一遍, 使我所學得更扎實, 邏輯更明確
另一方面也是因為有鑑於網路上, Scala中文方面的資源較少, 多一點分享也好
以下為個人牢騷
不是要講Scala是一個多好的語言,
只是我自己寫JAVA寫到開始覺得有點膩了, 似乎少了一些東西,
加上近年有個氛圍, RoR , Python等, Dynamic 語言興起, 一窩蜂的講求coding的快速與方便
但那一些Dynamic語言過度簡化, 讓我對於邏輯的控制和類型感到很沒安全感
有時候拿到一個變數很難直接推斷它的類型, 導致整個專案不好維護
(以上是過去寫Python的感想, 如果有錯, 請糾正, 感謝)
還是喜歡中規中矩的JAVA, code看起來雖然很多很冗長
但我慢慢循序看可以看出整個Program該有的邏輯 & 脈絡
我是認為 Program 的正確邏輯遠勝於任何東西 比如 速度, 優雅, 熱門
但是漸漸的JAVA 的 for-loop 狂用Iterator , 來取代 變數 i 的傳統寫法
期待 JAVA 8 的 Lambda Expression Feature時候, 就覺得時機點到了, 該去找些東西
因緣巧合下認識Scala, 儘管知道Scala是run 在JVM上面
但初步了解之後, 發現學習曲線是指數成長的難
富有挑戰性, 才能引起Programmer的興趣基因
真的要學好Scala, 重點是觀念要想通, 語法是其次,
Scala in Action一書就是以觀念出發來教導Scala,
而我的分享則是以OOP的觀念再重新引導一次
如果是一個物件導向Programmer, 或者更是JAVA Programmer, 這是一個很好的下一步
比起去學習各種酷炫Framework, 不如基層的根基打好, 整個軟體邏輯才會正確
繼續閱讀Scala 前言1, 是Java的下一步也是物件導向的下一步
沒有留言:
張貼留言