2014年6月5日星期四

Swift


今年WWDC,最期待的iPhone 6落空,但最大驚喜是沒有任何一個web估得到Apple推出新language Swift。初看見Swift有點擔心,因為又是每一個developer的人生交义點的時候,學新東西放棄舊有所學,還是停留在舊但熟識的language好呢。今年好不容易,終於下決心開始學 Objective-C寫iOS app並submit上app store。但現在彷彿又要重頭開始學過,因為工作用Java,研究數學用Python,寫iOS app用Objective-C,再學難免會有學習恐懼症。

其實Apple為何要推一隻全新的language而不用現有的呢,如Python或Ruby等等,這樣便可降低learning curve的slope吧!現在每間公司都有自己的language,Apple有AppleScript, Objective-C和Swift,Google就有Go,Microsoft就有C#和其它,Mozilla就有Rust,Oracle就有Java等等。Language cross platform容易,cross company困難。

看了一會WWDC video和iBook後,明白Apple要推出自己一隻新language的需要,每一隻language皆有其弱點或不足之處,如Python,易學易寫但弱點在GUI和速度,built-in的Tkinter功能太弱,那麼只好用cross-platform的library如wxPython, PyQt和Kivy等等,但未必支援某platform的獨有功能;或用PyObjC,但用它來寫program還不及用Xcode寫Objective-C方便。當中選擇的困難以前也交代過。現在的Swift,既有如寫script般的輕巧,亦有compile的好處,而且可以完全用回所有Cocoa framework,學習上算是輕鬆一點了。

沒有留言:

發佈留言