2011年4月20日 星期三

1-1. Scala新接觸

Scala是一個承繼Java的程式語言
Java開發的繁複性,是眾所周知,也是大家很頭痛的,因此有許許多多的方案要來解決這個問題,JRuby、Groovy、AspectJ都努力過,然而好像沒成功。

Scala重新設計程式語言的組成分子,讓他在開發上更快速、更容易寫出正確的程式、又不失執行時期的效能,讓這個語言脫穎而出,慢慢吸引程式設計者的眼光,未來也許有機會成為在JVM與Java相輔相成的語言(雖然Scala不只可以在JVM運作)。

對於它的好,已有許多地方為它宣傳,這裡不多贅言。

雖然它好用,雖然它強,但對於新接觸者,它卻透露出嚴重的缺點,就是複雜,難以學習。

回想Java剛升起的時代,那時C是主要的開發語言,C++是最主要的Object-Oriented語言,在C系列盤據的地盤中,Java脫穎而出,有相關的時空背景,但C++的複雜性與Java的簡單也是造成程式者轉向Java的原因之一。
關於C++的複雜,這裡不贅言,有經驗的C++程式者,想想看光一個method宣告,其中const放在不同的地方就有不同的效果,就讓人生氣,也知道C++是如何要求程式開發者的智力與謹慎程度。

Scala,有人形容它就像C++一樣,這麼的難以親近,那它有機會成功嗎?
個人覺得Scala的複雜是來自於它的企圖心與設計理念,Scala的企圖心由他的命名Scalable Language,就可以印證。

想瞭解 Scala 的設計理念,請參考「Scala的企圖心與挑戰」。本系列將繼續探討如何使用 Scala。

沒有留言:

張貼留言