今天凌晨,蘋果舉辦了wwdc14,天然又成了各大網站的頭條。儘管使用做爲mac os的用戶已經有接近10年時間,可是對蘋果的開發平臺卻一直沒什麼瞭解,一方面是由於並不承認蘋果的用戶哲學,另外一方面因爲長期從事c++開發,對objective-c的語法也什麼好感,甚至以爲怪異(我的感受)。python
下午瀏覽新聞的時候,卻發現wwdc14沒有發佈硬件產品,卻有一門新的開發語言swift發佈,按照蘋果的說法是"innovative new programming language",不由對這門語言產生了好奇。大體瀏覽了一下官方頁面ios
https://developer.apple.com/swift/,花點時間看完了Swift Tour,發現Swift仍是頗有趣的,至少對我來講,比objective-c的吸引力要大的多。下面大體寫一下初步印象吧,其中可能有一些錯誤認識,但願你們指正。c++
首先Swift仍是一門靜態語言,儘管融入了一些腳本語言的特性如:objective-c
可是其本質仍是一門靜態語言,最終仍是要編譯成native code。就我我的感受,這是好事,由於靜態語言的編譯期錯誤檢查和運行性能仍是要遠勝於目前流行的動態語言,尤爲是對移動平臺這種性能/功能比較敏感的狀況更是如此。算法
其實上述特性大部分更多的是相似於語法糖的性質,可以減小一些繁瑣的工做,可是卻遠遠稱不上「innovative"。就我我的而言,只有最後一條相似於腳本語言解釋器的交互式環境可以稱的上是innovative,固然,該特性得益於蘋果的神器llvm。我最初接觸到llvm是在配置vim的c++開發環境時,瞭解到了實時代碼完成和錯誤提示插件ycm,其後端就是調用的llvm的生成信息。關於llvm的具體介紹,請看http://llvm.org/swift
有了交互式的運行環境,咱們在作ios/osx的app開發時,就能像腳本語言同樣輸入代碼並實時的獲得運行結果,該特性不論是對於cocoa框架的學習,swift語法的學習,以及算法驗證等,相對於傳統的靜態語言都有不可比擬的優點。想一想之前要驗證某個原型,算法,或語言特性,須要打開ide,新建工程,輸入代碼,生成而後運行,這些步驟每每比編碼過程耗時要長的多。有了這個特性以後,就能像Lua或python同樣,直接打開解釋器輸入代碼就能看到結果。vim
整體而言,Swift仍是很對個人胃口,後面必定要抽出時間多瞭解相關資料,但願能借此機會順便了解ios的開發吧。後端