全球最受歡迎的計算機編程語言
要是隨便找個普通的蘋果擁躉,讓其列舉一下蘋果公司去年的重大公告,他很可能會從蘋果手表Apple Watch和大屏幕iPhone為開始。而如果向蘋果開發人員提出這個問題,他們幾乎毫無例外地會提到Swift,它是去年蘋果在全球開發者大會上發布的計算機編程語言。
負 責蘋果軟件設計的資深副總裁克雷格・費代里吉(Craig Federighi)在去年蘋果的全球開發者大會上演示了Swift的種種新特點,提及類型推演、閉包以及多名稱空間之類的名詞,與會的開發人才報以熱烈 掌聲。“你們也許都知道,有很多人在家里嘟噥:‘這幫人到底在說些什么?’”費代里吉在臺上開玩笑說。
針對開發人員、為編程語言排名的分析公司RedMonk在今年1月發布的報告稱,自Swift去年6月發布以來,其增長速度基本上是史無前例的。在短短七個月內,Swift就攀上了RedMonk編程語言***榜的第22位。面向編程人員的問答網站Stack Overflow,在今年2月對逾2.6萬名開發人員的調查結果顯示,Swift被評為全球***的計算機編程語言。
斯 坦福(Standord)等大學以及一些提供編程課程的網站接受了這種編程語言,并創設了教授Swift的在線課程。雷・溫德爾里奇(Ray Wenderlich)是一名網絡開發人員,運營著人氣頗高的指導網站RayWenderlich.com。他表示自己立即將幾乎所有的注意力都轉向了 Swift語言。“Swift引發了瘋狂的反響,”他說,“這是所有人都很期待的產品。”
蘋果規定開發者必須使用為移動設備設計應用程序的編程語言。這為蘋果開發應用程序帶來經濟上的動機――根據風投公司Andreessen Horowitz的行業分析師本尼迪克特・埃文斯(Benedict Evans)說,蘋果平均用戶為開發人員帶來的收入是安卓用戶的四倍。
在 Swift問世之前,蘋果開發人員的唯一選擇是上世紀80年代推出的編程語言Objective-C。幾十年后的今天,開發人員都認為 Objective-C已經過時。批評人士說它“冗長”、“過時”、“令人厭惡”。但這種老舊的編程語言也有其擁護者。被問及用Objective-C編 寫代碼難度是否很大時,作為搭車服務應用Lyft的工程設計副總裁彼得・莫雷利(Peter Morelli)說:“我覺得這有點像一場宗教戰爭。很多人使用這種語言編程也卓有成效。”蘋果拒絕就本文發表評論。
Swift在安全性方面得分較高(能夠防止編碼人員在疏忽大意之下造成程序漏洞),同時在順應編程趨勢方面也表現良好。其擁護者特別指出它的另一個優勢是表現力,開發人員能夠輕易讀懂他們用代碼達成想做的事。
開 發人員說,相比使用Objective-C,用Swift編程時他們可以用更簡單的代碼達成同樣的結果。“看看那些彎彎曲曲的代碼行和分 號,Objective-C的代碼行數會是它的4倍。” 在線提供編碼課程的公司Treehouse的開發者邁爾斯・卡彭特(Myers Carpenter)說。
大約6個月前,Lyft要求一名工程師試著用Swift編碼,之后該公司決定用這種語言重新編寫其應用程序,將代 碼行數減少了5倍。這款應用程序將于今年7月發布。莫雷利說,用Swift編程所用的時間遠遠少于Objective-C。“能將耗時從幾個月減少到幾 天,這很不錯,”他說。
另一個較早采用Swift的是內容分享平臺SlideShare,商務社交網站領英(LinkedIn) 2012年收購了該平臺。SlideShare的開發人員利用Swift語言設計了一個應用程序,其用戶可以瀏覽并分享企業演示內容、視頻以及圖表等。
SlideShare的編碼人員說,Swift語言效果不錯,(搜索微信公眾號“投黑馬”專注于文***域的眾籌平臺 )但也有一些小問題。其中一個問題是:將Swift轉換成可供計算機讀取的格式需要專門的程序,而這個程序占用了太多的處理能力,這遠遠超出了13寸MacBook Pro筆記本電腦的負荷。“我那些使用15寸機型、配備四核i7處理器的同事情況要好得多,”領英軟件工程師凱爾・謝爾曼(Kyle Sherman)在該公司的工程設計博客中寫道,“不管怎樣,在轉換時電腦風扇都發出很大的聲音。”
對于新的編程語言,“成長的煩惱”是常有的事。蘋果將繼續對Swift進行修正,不過隨著時間的過去,大的改動會越來越少。然而現在的修改頻率導致這種語言不穩定;用某個版本的Swift語言編寫的代碼必須加以修改才能適用于下一個版本。軟件開發公司Scott Logic的技術主管科林・埃伯哈特(Colin Eberhardt)是Swift的擁躉,但表示蘋果對Swift的更新經常導致他的代碼不能用。他說,***不要把Swift用在自己代碼的最終版本上。***等到這種語言成熟之后再采用。
Objective- C在編程中的使用仍遠遠高于Swift,但Swift的成功最終可能意味著其上一代編程語言的消亡――前提是蘋果不希望同時支持兩種編程語言。目前,蘋果 已經告知開發人員,他們可以繼續使用Objective-C。身為網絡開發者的溫德爾里奇說,Swift可能還要多年時間才能占據主導地位,但這是無可避 免的。“到那時人們就會開始轉向Swift,”他說,“而到***Objective-C將會退場。”