七周七語言(5)
最近這兩周一直在看scala語言,突然發現這一門語言非常棒,能夠編譯成為java字節碼。
scala是編譯式,靜態,強類型語言,和java一樣,但是經過scala添加的語法糖以及編譯器的優化,在語言表達能力上完全比java強多了。現在看起來,java有一些太笨重了。
和java相比,scala最大的優勢在于
1 類型推斷,根據值推斷類型,這個是經過scala編譯器進行推斷,個人覺得相對來說好實現。
2 支持函數式編程:在java里面,任何事物都是對象。經過scala的語法潤色,支持函數定義。其實執行起來還是需要對象的,只不過scala編譯器幫你自己創建了匿名類,源代碼層面看上去是定義了函數,實際是定義了一個方法。高階函數和閉包都是通過這種方式實現的。
3 支持模式匹配:這個源于prolog語言,用起來非常方便。
4 豐富了java的數據模型,支持元組模型,這個是我非常喜歡的,可以自定義類型
5 支持元數據編程:雖然感覺支持的力度有限,scala里面本身就有很多,比如1 to 3 等等
6 其他的一些小特性,比如內置對xml的支持,minix機制,并發編程 等等。
以后直接會scala寫程序了,比java寫起來感覺爽多了
浙公網安備 33010602011771號