天天看點

喜歡 Swift 程式設計語言的人主要是初學者?

一早一起來,朋友圈除了被蘋果釋出會刷屏外,還漫天散布着一條類似的招聘消息:“招聘ios程式員,要求擁有5年的swift開發經驗,有狼性,待遇月薪20k+,專車接送。”

随後身邊的朋友很快就開始調侃:《21天精通swift》、“打算開個7天的swift教育訓練班,保證上崗就業”等等。

這一切皆因為一件事情:今天淩晨蘋果在wwdc大會上釋出了新的程式設計語言swift。

每隔幾年都會有一家公司站出來說自己開發了一個獨特的程式設計語言,一般都是“雷聲大雨點小”,為什麼這次的情況卻有些不同?也許其中一個原因就是,其 釋出者是擁有900萬開發者的蘋果,大家早已熟悉他們原有的程式設計語言objective -c,也知道多少知道這門語言的弊端,而swift似乎是有意地做出一些改變:

“因為objc比較像c++等傳統面向對象語言,有很多現代的進階語言特性都沒有,而其他像ruby和python這些正是因為有這些特性是以寫代 碼效率很高(這裡說的不是執行效率),是以寫objc就會跟寫c++和java那樣繁瑣。現在swift相當于是抄了許多現代進階語言的特性,然後又做了 一套隻有自家平台用的語言,一方面降低了開發的門檻,讓很多隻接觸過現代語言的初學者都可以輕易上手,另一方面提高了大家的開發效率(隻要你不是寫跨平台 軟體)。”——terry

喜歡 Swift 程式設計語言的人主要是初學者?

從微網誌上看的話,很多開發者對這門新語言給予肯定的态度:

@鄭玉璟:蘋果的swift是一門集大成的程式設計語言,剔除了其他語言大部分弊端,加入了諸如閉包等現代特性,在效率提升的情況下還可以極大地簡化開 發工作,不得不佩服蘋果工程師們的努力。從不同語言入門也變的容易。如果可以移植到其他平台并保持很好的穩定性,将會對java等帶來毀滅性沖擊。

@sungrone:剛看了一下swift的文檔,感覺幾爽。沒有剛剛接觸objc的抵觸感覺。剛開始學objc時,最容易搞亂的是方法和委托,現在這個好了。委托什麼的都放到閉包裡解決

@yeewang:llvm革新了古老的objective c,又為apple平台帶來現代時尚的swift語言。llvm雖也稱為virtual machine,但是和以往的jvm/.net這類解釋器不一樣:llvm能最終編譯為機器原生語言。swift語言上能時尚,下能通c,相比較java /c#這類語言就不那麼容易了。

部分人閱讀官方文檔過後,認為swift有着腳本語言的身影,并降低了初學者的門檻。

@程寄奴_野王:swift 感覺好像很簡單的樣子,一下子拉低了開發ios app的門檻。大量的腳本工程師可以轉成搞ios了。

@藍色墜落:swift 有點像 javascript ,腳本語言,同時也吸取了 java 和 python 的優點。

@wayne-chan:确實像js,但用一種弱類型風格表達強類型語言,class設計很節制,比js多了析構、override,但沒 overwrite與private,隻能像js那樣用函數空間隔離類鍊中符号命名。我猜swift會對接js,畢竟js是目前ios裝置唯一能不經審查 就釋出的程式設計途徑。

@bitinn:swift基本上就是反着做事情——與其把腳本語言通過标準變成更好的程式設計語言,不如把程式設計語言變成更像腳本語言的格式。我猜和多數抽象化一樣,某程度的性能損失不可避免,所謂的高性能+跨平台有待驗證。

不過有朋友告知,對swift如此偏愛的開發者,大部分都是項目經驗不豐富的初學者。“早上在hacker news看到有人驚呼‘這門語言竟然把go的很多語言特性都實作了’,也有人說‘這些特點早在幾十年前就有程式設計語言實作了,它叫lisp’。其實算一下 go語言出現和被推廣的時間,你就知道發帖贊美的人是大概什麼時候開始學習程式設計的了。”