以下是文章主要內(nèi)容:
知名開發(fā)人克里斯-萊特納(Chris Lattner)此前花費(fèi)了一年半的時(shí)間在一款全新編程語言的開發(fā)工作上。在這段時(shí)間內(nèi),他沒有將自己的工作內(nèi)容向任何一個(gè)人透露過。這個(gè)項(xiàng)目是在2010年的夏天正式展開的,當(dāng)時(shí)的萊特納幾乎每個(gè)周末和晚上都撲在這個(gè)項(xiàng)目中,到2011年底這個(gè)全新編程語言的基本架構(gòu)終于成形。
也就是在那個(gè)時(shí)候,萊特納決定把這個(gè)秘密項(xiàng)目告訴公司高管。在深入了解了這一項(xiàng)目后,這些高管認(rèn)為該項(xiàng)目非常有潛力,并特地為其指定了數(shù)名有經(jīng)驗(yàn)的工程師協(xié)助開發(fā)。在18個(gè)月后,該項(xiàng)目已經(jīng)成為了該公司最重要的項(xiàng)目之一,大量工程師都參與到了這一項(xiàng)目中,且公司認(rèn)為這是一個(gè)有可能徹底顛覆傳統(tǒng)電腦編程流程的全新語言。
眾所周知,這個(gè)項(xiàng)目就是Swift編程語言,而萊特納則是目前蘋果開發(fā)者工具部門總監(jiān)。
今年6月2日,蘋果首次針對(duì)廣大開發(fā)者放出了Swift編程語言的測(cè)試版本,并對(duì)外宣稱這是一個(gè)能讓開發(fā)者更快、更輕松為iOS設(shè)備編寫軟件的工具。萊特納就讀伊利諾伊大學(xué)厄巴納-香檳分校時(shí)的研究生導(dǎo)師維克拉姆-艾夫(Vikram Adve)曾經(jīng)同萊特納一起開發(fā)了Swift語言的最基層軟件平臺(tái),但就連他都不知道萊特納竟然獨(dú)自一人在這個(gè)編程項(xiàng)目上花費(fèi)了如此巨大的心血。
“蘋果實(shí)在太保密了,萊特納也深受真?zhèn)?。我?dāng)時(shí)只知道他正在負(fù)責(zé)一個(gè)項(xiàng)目,但我并不知道這個(gè)項(xiàng)目的具體內(nèi)容?!卑蛐χf道。
通常來說,如果一款編程語言被剛剛編寫完成后,它通常需要多年的時(shí)間才能擁有足夠多的開發(fā)者用戶,即便該語言擁有像蘋果這樣巨型企業(yè)的支持也不例外。舉例來說,谷歌曾在2009年推出了一個(gè)名為“Go”的全新編程語言,雖然這一語言的開發(fā)者包括了諸如Unix操作系統(tǒng)聯(lián)合開發(fā)者、同時(shí)也是C語言之父肯-湯普遜(Ken Thompson)以及前貝爾實(shí)驗(yàn)室研究員盧勃-帕克(Rob Pike)這些業(yè)內(nèi)泰斗,但該語言直到目前還沒有得到全球大多數(shù)程序員的認(rèn)可。
但我們認(rèn)為,Swift的命運(yùn)將同Go截然不同,該語言甚至有可能在今秋正式發(fā)布后迅速得到業(yè)內(nèi)的認(rèn)可,并超過當(dāng)年Java和C#語言的發(fā)展速度。這主要是因?yàn)樵撜Z言是一款面向普通開發(fā)者的編程語言,它擁有著無與倫比的易用性,即便是最初級(jí)的編程員都能夠很快掌握該語言。同時(shí),目前有許多的程序員都專注于為iOS平臺(tái)編寫應(yīng)用,此前他們所使用的主要語言是Objective-C,但全新Swift顯然比前者擁有更多優(yōu)勢(shì),而這也就在一定程度上確保了該語言的使用基數(shù)。
“谷歌Go沒有給予開發(fā)者足夠的理由去采用這一語言,而Swift卻并非如此。人們會(huì)爭(zhēng)先恐后的擁抱這一全新語言,因?yàn)樗木幊塘鞒滔啾萇bjective-C更為簡單。”專注于全球編程語言動(dòng)態(tài)的Tiobe公司總經(jīng)理保羅-詹森(Paul Jansen)說道。
目前,盡管Swift還處于自己的測(cè)試階段,但代碼托管網(wǎng)站GitHub上已經(jīng)有超過2400個(gè)項(xiàng)目基于Swift代碼開發(fā)。本月,Swift還登上了Tiobe發(fā)布的全球討論率最高編程語言第16名的位置。需要指出的是,當(dāng)谷歌在2009年推出Go語言的時(shí)候也曾取得過類似的成績,但該語言隨后在Tiobe上的排名便一落千丈。然而,詹森認(rèn)為這樣的情況恐怕不會(huì)在Swift身上重演。
“因?yàn)镾wift處于蘋果生態(tài)系統(tǒng)的最核心地位,而他們只要不將其搞砸就可以了?!盋++語言領(lǐng)域的泰斗級(jí)人物安德烈-亞歷克斯德蘇(Andrei Alexandrescu)說道。
未來前景
目前,萊特納是蘋果開發(fā)者工具部門總監(jiān),他的主要工作是負(fù)責(zé)管理所有可以讓蘋果工程師和開發(fā)者為公司設(shè)備編寫程序的工具。在此之前,萊特納曾主持開展了構(gòu)架編譯器框架系統(tǒng)LLVM的開發(fā)工作,而LLVM也恰恰是目前蘋果開發(fā)工具Xcode的基礎(chǔ)架構(gòu)平臺(tái)。
2005年,萊特納加盟蘋果,并開始致力于LLVM在蘋果開發(fā)體系中的應(yīng)用。同時(shí),蘋果也一直是LLVM計(jì)劃的主要資助方之一。我們?cè)谧珜戇@篇文章時(shí)向萊特納提出了采訪邀請(qǐng),但后者表示只有得到蘋果公關(guān)部門的批準(zhǔn)才能接受采訪。不過,萊特納還是在自己的博客中簡單談到了這個(gè)項(xiàng)目的開展初衷,那就是他希望Swift能夠同蘋果現(xiàn)有開發(fā)工具兼容,甚至可以讓開發(fā)者在使用Objective-C的同時(shí)使用Swift。
平息而論,蘋果仍然需要提供更加充足的理由來鼓勵(lì)開發(fā)者從Objective-C轉(zhuǎn)投Swift平臺(tái)。畢竟,現(xiàn)有開發(fā)者大都從未接觸過Swift。
“我是第一個(gè)、也是目前唯一一個(gè)擁有四年Swift使用經(jīng)驗(yàn)的開發(fā)者。”萊特納在Twitter上這樣說道。
對(duì)此,已經(jīng)為蘋果各類硬件產(chǎn)品編寫了15年程序的資深開發(fā)人員麥克-阿什(Mike Ash)也承認(rèn):“大多數(shù)全新編程語言都會(huì)止步不前,少數(shù)獲得開發(fā)者青睞的語言通常也需要經(jīng)歷許多年的過渡時(shí)期?!?
但話雖如此,阿什目前已經(jīng)開始利用這一全新語言編寫應(yīng)用了。因?yàn)殡m然Swift并見得比諸如C#、Ruby、Python優(yōu)秀多少,但它還是相較于上世紀(jì)80年代問世的Objective-C有著太多的優(yōu)勢(shì)。當(dāng)下,許多程序員都認(rèn)為Objective-C句法規(guī)則太過怪異,而Swift的設(shè)計(jì)則更加貼心,并內(nèi)置了許多可以幫助開發(fā)人員的實(shí)用糾錯(cuò)工具。
核心優(yōu)勢(shì)
在Swift語言中,最為出彩的功能或許就Playgrounds了。該功能提供了不可思議的互動(dòng)效果,能讓Swift代碼在編寫過程中實(shí)時(shí)進(jìn)行編譯和效果顯示。最為重要的是,這一服務(wù)能夠使開發(fā)者的編程變得更具效率,同時(shí)幫助Swift和其他編程語言展開差異化競(jìng)爭(zhēng)。
目前,諸如Objective-C、C++這類語言通常要求開發(fā)者首先編寫好代碼,等待編撰器將代碼轉(zhuǎn)換為可執(zhí)行的軟件程序,然后開發(fā)者才能夠操作這一可執(zhí)行軟件。而諸如Python、Ruby和PHP這些語言則允許開發(fā)者在編寫代碼的同時(shí)測(cè)試自己的軟件,但該軟件的實(shí)際運(yùn)行速度卻會(huì)大打折扣。
然而,Swift的出現(xiàn)就徹底解決了上述兩者的不足,該語言可以在不犧牲程序運(yùn)行速度的前提下使開發(fā)者更為高效的編寫代碼。
“Swift是一個(gè)對(duì)開發(fā)者和設(shè)備都非常友好的語言,雖然這一語言的實(shí)際表現(xiàn)還有待測(cè)試,但蘋果到目前為止的工作成果看起來相當(dāng)了不起?!丙溈?阿什這樣說道。
市場(chǎng)競(jìng)爭(zhēng)
需要指出的是,蘋果并非是唯一一家試圖在編程領(lǐng)域掀起波瀾的企業(yè),包括谷歌、Facebook、Mozilla這些公司也都在研發(fā)自己的編程語言平臺(tái),且其中部分語言甚至已經(jīng)比Swift取得了更大的成就。比如,谷歌已經(jīng)利用Go語言重新定義了自己的內(nèi)部工作流程,而Facebook則利用旗下開源編程語言“Hack”重新打造了自己的大量在線服務(wù)。
更為重要的是,以上這些企業(yè)所推出的編程語言大多是開源的,這就意味著它們或?qū)⒖梢愿菀酌嫦蛉蜷_發(fā)者進(jìn)行推廣。然而,Swift并不是一個(gè)開源編程語言(至少目前還不是)。同時(shí),考慮到蘋果一貫的軟硬件高度控制的做法,外界對(duì)于該公司政策是否會(huì)對(duì)Swift的未來推廣構(gòu)成負(fù)面影響也持有保留意見。
“目前業(yè)內(nèi)對(duì)于蘋果是否會(huì)限制該語言的前進(jìn)方向存在著一定的擔(dān)憂,就比如該公司是否會(huì)允許開發(fā)者利用其編寫跨平臺(tái)代碼等?!卑⑹步忉尩?。
不過,阿什相信Swift的開源化將只是時(shí)間問題而已,因?yàn)榭死锼?萊特納從來都是編程開源理念的支持者,他此前所開發(fā)的輕量級(jí)編譯器Clang就是一個(gè)最好的例子。當(dāng)然,即便Swift始終處于蘋果的嚴(yán)格管控之下,我們也認(rèn)為該語言的開發(fā)者采用率也將超越近年來所推出的任何一個(gè)編程語言,因?yàn)檫@就是諸如iPhone、iPad和Mac這些設(shè)備施加在開發(fā)者身上的魔力所在。