有一些人應該知道,我挺喜歡有事沒事玩一玩一些莫名其妙,沒啥知名度的程式語言,像是之前有玩過 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 是不是一把真的能夠用來行走江湖的好兵器囉!
回響