0
本文作者: 夏航 | 2014-06-03 18:37 |
在今天凌晨1點(diǎn)蘋果召開2014年度全球開發(fā)者大會(WWDC 2014)之前,“Swift”這個單詞的搜索結(jié)果除了有少數(shù)前NBA火箭隊(duì)無腦扣將的職業(yè)生涯相關(guān)數(shù)據(jù)外,大多都指向了美國鄉(xiāng)村流行歌手Taylor Swift,而這個曾經(jīng)讓無數(shù)歌迷和前男友瘋狂的名字,如今也足以讓廣大程序猿興奮甚至顫抖了。
根據(jù)官方提供方的信息,Swift是供iOS和OS X應(yīng)用編程的新編程語言,基于C和Objective-C,且沒有C的一些兼容約束。Swift采用了安全的編程模式和添加現(xiàn)代的功能來讓編程更簡單、靈活、有趣、高效和安全。Swift界面則基于Cocoa和Cocoa Touch框架,這展示了軟件開發(fā)的新方向。
據(jù)悉,Swift已經(jīng)存在了多年。蘋果基于已有的編譯器、調(diào)試器、框架來作為它的基礎(chǔ)架構(gòu),通過自動引用計(jì)數(shù)(Automatic Reference Counting)來簡化其內(nèi)存管理,而框架棧則一直基于Cocoa。Objective-C進(jìn)化支持了塊、collection literal和模塊,允許現(xiàn)代語言的框架。
也許上面的引用還有一些太過于“正式”,那么我們下面就用比較“接地氣”的語言來講講Swift的優(yōu)點(diǎn)。
先說說運(yùn)行時的特性。Swift的運(yùn)行速度是Python的3.9倍,而在運(yùn)行中它能自動進(jìn)行垃圾回收。我們知道,在過去的C語言中,有半自動垃圾回收與自動回收垃圾兩種選項(xiàng),半自動垃圾回收需要程序猿通過“return”和“release”進(jìn)行控制,自動回收則要求程序猿開啟,全新的Swift能讓程序猿們不用過多考慮內(nèi)存問題,減輕了成本的浪費(fèi),是非?!坝押谩钡木幊陶Z言。
在蘋果高管 Craig Federighi 的描述中,Swift 在各個方面優(yōu)于 Objective-C,這使它不會有那么多復(fù)雜的符號和表達(dá)式,并依舊與Object-C 相兼容。共用運(yùn)行時使Swift能與Objective-C進(jìn)行混合編程,這就意味著以前寫的代碼也能無縫融合進(jìn)來,這可能是蘋果考慮到之前的代碼實(shí)在太多而做的融合。
實(shí)時代碼效果預(yù)覽功能(Swift Playground)則讓程序猿在輸代碼時能實(shí)時看到代碼執(zhí)行效果,各個環(huán)節(jié)的代碼實(shí)現(xiàn)效果也會進(jìn)行實(shí)時的展示。另外,Swift包含了所有的語言特性,比較有代表性的包括了閉包、命名空間、泛型、強(qiáng)類型以及多個返回值。
在不少人的判斷里,Swift未來將主要運(yùn)用在兩個方面:編程教育和應(yīng)用開發(fā)。
目前編程教育的交互性非常的差,這使課程的學(xué)習(xí)曲線陡峭,Swift更加簡單和交互環(huán)境更強(qiáng)的編程環(huán)境或許會改變這個局面,讓更多青少年學(xué)會編程。而在Swift推出之前,iOS和OS X應(yīng)用開發(fā)使用的都是Objective-C,這是一門極其繁瑣的語言,如果Swift提供一個現(xiàn)能夠與Objective-C框架的簡易互操作接口,將有可能出出現(xiàn)程序猿們大舉“遷徙”至Swift的壯觀景象。
在Swift發(fā)布后,立刻就有公司發(fā)布了這樣一條招聘廣告:年薪500萬急招iOS開發(fā)工程師,1天以上Swift開發(fā)經(jīng)驗(yàn)。這雖然是一條段子,但也從側(cè)面說明了Swift的出現(xiàn)可能讓廣大程序猿回到“同一起跑線”上。面對這樣一個能夠把自己重新塑造成“大師”的機(jī)會,能否搶先出版《10天快速掌握 Swift》、《深入淺出講解 Swift》、《Thinking in Swift》、《Swift 瘋狂講義》等書籍也就成了“決勝千里”的關(guān)鍵。
Swift也很有可能成為“魔鬼”,因?yàn)樗苁咕幊谈尤菀?,所以很可能會降低這個行業(yè)的入門門檻,讓不少之前的“小白”能快速入門甚至扶搖直上。從此以后程序猿不再是“高大上”的苦逼職業(yè),整個行業(yè)的平均工資水平也相應(yīng)會降低。
不過,也有程序猿表示了對Swift的不屑,因?yàn)樗娜秉c(diǎn)使它目前不足以做大型項(xiàng)目,更別說取代Objective-C或稱為下一個Objective-C了。當(dāng)然,也不排除Swift會在未來幾年進(jìn)行大的改進(jìn),到時它是“天使”還是“魔鬼”自然就可以見分曉了。總之,好戲還在后頭。
相關(guān):
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。