趁手的兵刃--Scala。

有一些人應該知道,我挺喜歡有事沒事玩一玩一些莫名其妙,沒啥知名度的程式語言,像是之前有玩過 Pike 或是 D  語言之類的。

其實除了好玩外,有一部份也是總覺得自己在正規教育中學的諸如 C  語言或是 Java 這類著名的程式語言,用起來有一些不順手的地方。

畢竟,工欲善其事,必先利其器。就像行走江湖的武林人士都要有一把趁手的兵器一樣,程式與言就如同是程式設計師的兵器,當然希望能夠找到合自己意的,這也是為什麼我之前會看上 D  語言的原因。

但話說回來,有的時候事情沒有那麼美好的啊!選擇這種冷門的程式語言,常常得面對的就是各式各樣支援以及各種函式庫缺乏的問題,D 語言當然也不例外。

而且 D  語言還有許多更嚴重的問題--兩個程式語言規格,兩種標準函式庫,還不夠成熟的編譯器,本來是想簡化 C  以及 C++  的,但最近卻反而愈變愈複雜。

於是最後,我還是選擇放棄了這個看起來不錯,但實際上問題相當多的選擇。

但我還是一直在找趁手的兵刃,最後終於找到啦!那就是我正在用來寫 Android  程式的 Scala  這個程式語言。

雖然和 D  語言比起來,少了系統程式設計方面的優勢(例如指標等底層的操作),但後來我也發現,其實我也根本沒在做系統程式嘛!

以目前我想往 Android  應用程式走的方向而言,Scala 真的是剛剛好啊!

而且與 D  想要在程式碼的層次上向下相容不同,Scala 一開始走的就是程式碼不相容,而是在 Byte Code  上相容的路,於是可以丟掉很多包袱。

總而言之,Scala 提供的諸如 Tuple、Traits、型別推測以及 Closure 以及 Pattern Match 等等,再和 Android 搭起來,讓寫 Android  程式變得超簡單又有趣的啦,不再像以前一樣一堆多餘的語法。

總而言之,接下來就是繼續試驗看看 Scala  是不是一把真的能夠用來行走江湖的好兵器囉!

回響