成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

《連線》:為什么蘋果Swift語言將會(huì)迅速普及

移動(dòng)開發(fā) Android
《連線》雜志日前撰文解析了蘋果新編程語言Swift的諸多優(yōu)勢(shì)。文章表示,由于這門語言易于上手,吸收了編譯型語言與解釋型語言的長處,而且有諸多蘋果產(chǎn)品為依托,Swift的普及速度會(huì)讓其他語言望塵莫及。以下為《連線》“蘋果Swift將很快改變編程的三大理由”一文

克里斯·拉特納(Chris Lattner)花了一年半時(shí)間打造了一套新的編程語言。他沒有向任何人提起這件事,甚至連他最親密的朋友和同事也不知道。

他利用晚上和周末的時(shí)間進(jìn)行這項(xiàng)工作,從2010年夏天開始一直干到第二年年末,將這門編程語言的骨架搭建完畢,然后向公司高管透露了自己的秘密。 這個(gè)項(xiàng)目得到了高管們的重視,數(shù)名資深工程師加入了進(jìn)來。18個(gè)月之后,該項(xiàng)目成為了公司主要關(guān)注的對(duì)象,項(xiàng)目團(tuán)隊(duì)規(guī)模擴(kuò)大了不少。

拉特納工作的公司,就是蘋果。

這門語言叫做“Swift”。蘋果認(rèn)為這是一個(gè)更快速、更有效開發(fā)iPhone、iPad以及Mac電腦軟件應(yīng)用的工具。今年6月2日,蘋果向公司 外部的程序員發(fā)布了一個(gè)測(cè)試版本。即便是在這個(gè)時(shí)候,也就是在拉特納首次設(shè)想這門語言4年之后,它也只是在蘋果內(nèi)部圈子里產(chǎn)生了影響。拉特納在伊利諾伊大 學(xué)香檳分校的研究生導(dǎo)師維克拉姆·艾德福(Vikram Adve)幫助他完善了Swift語言的基礎(chǔ)。和其他人一樣,艾德福對(duì)自己的學(xué)生花了這么長的時(shí)間打造一門新的編程語言這件事也感到吃驚。“蘋果公司口風(fēng) 很緊,克里斯真是貫徹了這一點(diǎn),”艾德福笑著說。“我知道他在一個(gè)項(xiàng)目上花了很多時(shí)間,僅此而已。”

通常來說,像這樣面世的一款新編程語言,通常需要多年時(shí)間才能獲得大規(guī)模采用——即便有蘋果這種規(guī)模的科技巨頭支持也不例外。谷歌在2009年推出過一門名叫“Go”的語言。雖然這門語言的設(shè)計(jì)者在業(yè)內(nèi)鼎鼎有名,但它仍然沒有在全球范圍內(nèi)成為主流。

不過Swift就是另一回事了。等到今年秋天正式發(fā)布時(shí),它可能會(huì)以前所未見的速度很快獲得程序員的青睞,甚至有可能超越Sun的Java語言,以及微軟的C#語言在20世紀(jì)90年代末與21世紀(jì)初的風(fēng)頭。

Swift的部分優(yōu)勢(shì)在于,它是為普通程序員打造的。這門語言設(shè)計(jì)用來編寫最簡(jiǎn)單的手機(jī)應(yīng)用,而且配有一個(gè)被蘋果稱之為“操場(chǎng)”(Playground)的智能工具。該工具提供了一種相當(dāng)有效的“自學(xué)”編程方式。

此外,Swift之所以可能風(fēng)靡起來,還有一個(gè)更直接的理由。在今天,成千上萬的開發(fā)者使用一種名叫“Objective-C”的語言,為 iPhone和iPad打造應(yīng)用,考慮到蘋果設(shè)備的普及程度,這些程序員會(huì)一直開發(fā)此類應(yīng)用。而和Objective-C相比,Swift在很多方面提供 了重大的改進(jìn),這意味著龐大的蘋果開發(fā)者社區(qū)肯定會(huì)在未來數(shù)月接受這種新語言。

Tiobe指數(shù)(這是一個(gè)用來衡量編程語言流行程度的指標(biāo))的編纂者、關(guān)注編程語言發(fā)展近15年的保羅·詹森(Paul Jansen)表示:“就谷歌Go來說,沒有什么真正的激勵(lì)因素來使用它。相比之下Swift可以提供這樣的激勵(lì)。”

到目前為止,即便使用的人數(shù)非常有限,在流行的編程網(wǎng)站GitHub上,與Swift相關(guān)的項(xiàng)目也超過了2400個(gè)。而且在本月,Swift在 Tiobe全球編程語言熱門排行榜上排名第16。谷歌Go在2009年發(fā)布時(shí)的情況與之類似,不過在之后排名便下降了很多。但就Swift來說,詹森口中 的激勵(lì)因素只會(huì)推高其排名。

Facebook的開發(fā)元老安德雷·亞歷山德雷斯庫(Andrei Alexandrescu)指出,考慮到Swift在蘋果產(chǎn)業(yè)鏈中獨(dú)一無二的核心地位,“只要不胡搞”肯定就不會(huì)失敗。何況這門語言的學(xué)習(xí)門檻非常低。 “人們會(huì)搶著學(xué)習(xí)這門新語言,因?yàn)橛盟兂珊苋菀祝?rdquo;詹森表示。“程序員可以用Objective-C,也可以用Swift,大部分人都將轉(zhuǎn)向 Swift。”

不只是一門語言

拉特納負(fù)責(zé)監(jiān)督蘋果所有的開發(fā)工具——正是這些工具讓蘋果的工程師和外部的程序員為這家公司的電腦、筆記本、智能手機(jī)與平板電腦開發(fā)軟件。在艾德福 的指導(dǎo)下,這位伊利諾伊大學(xué)香檳分校的研究生曾設(shè)計(jì)過一套名為LLVM的元編程工具。該工具是蘋果軟件開發(fā)主要工具Xcode的基礎(chǔ),后者最新版本的下載 次數(shù)已經(jīng)超過了1400萬。簡(jiǎn)單說,LLVM是生成并運(yùn)行新應(yīng)用的一種方式,可以和所有編程語言配套使用。

拉特納在2005年加入蘋果。這之后蘋果用LLVM重塑了開發(fā)者使用Objective-C開發(fā)應(yīng)用的方式。5年后,拉特納又把LLVM作為 Swift的基礎(chǔ)。拉特納拒絕了媒體的采訪,但在他的個(gè)人主頁上有對(duì)Swift演化過程的簡(jiǎn)要介紹。不管這個(gè)長期項(xiàng)目多么與眾不同,實(shí)際上Swift還是 要與蘋果現(xiàn)有的開發(fā)工具共同工作——雖說它提供了一種替代Objective-C的選擇。

換言之,Swift不光是一門編程語言。它與開發(fā)人員打造軟件所需要的所有東西都緊密地結(jié)合在一起。這里不光是指集成開發(fā)環(huán)境(IDE),也包括調(diào) 試器這樣的其他工具。這些工具大多被蘋果開發(fā)者所熟悉。換言之,對(duì)成千上萬為iPhone、iPad以及Mac電腦開發(fā)應(yīng)用的程序員來說,Swift很容 易上手。

還是要有充分的理由才能讓程序員從Objective-C轉(zhuǎn)投Swift,畢竟他們過去從未用過Swift。“我是第一個(gè),也是唯一一個(gè)具備4年 Swift編程經(jīng)驗(yàn)的人,”拉特納在Twitter上寫到。學(xué)習(xí)這樣一門語言是需要犧牲一定時(shí)間的,這通常是個(gè)大障礙。為蘋果硬件開發(fā)了15年軟件產(chǎn)品的 麥克·艾什(Mike Ash)說道:“只有很少一些語言能獲得足夠關(guān)注,大部分語言吸引使用者的時(shí)間都很長。”艾什現(xiàn)在正在鉆研公司的這門新語言。

好在拉特納和蘋果已經(jīng)給出了充分的理由。就其本身來說,Swift和C#、Ruby、Python等編程語言比起來沒有太多吸引力,但與 Objective-C相比有很大的進(jìn)步。后者的歷史可以追溯到上世紀(jì)80年代中期,平心而論不如更現(xiàn)代的編程語言易用。艾什表示:“許多人因?yàn)?Objective-C和它那不常見的語法放棄了。Swift的語法更標(biāo)準(zhǔn)、更常見,這有助于吸引感興趣的人。”

對(duì)現(xiàn)在的程序員來說,Swift不僅更熟悉——它有“泛型”這樣的設(shè)計(jì),也就是可以重復(fù)使用的基礎(chǔ)模組——而且還有用來避免程序員出錯(cuò)的工具。它能 提供一種叫做“推測(cè)輸入”的功能,憑借這種功能程序員就不用花費(fèi)太多時(shí)間來定義所用變量的類型。艾什表示:“它可以提供很多幫助,可以更好地理解你在做什 么,也能讓電腦幫助你把事情想得更清楚。它能讓程序員更有效率,用更短的時(shí)間完成更多的事情。”

還有就是“Playground”,包括艾德福在內(nèi)的很多人都認(rèn)為,這是該語言中最有趣的地方。

Playground

按照拉特納個(gè)人主頁上的說法,“操場(chǎng)”是要讓編程“更具交互性更直觀。”他解釋稱,“操場(chǎng)”在很大程度上受到了蘋果設(shè)計(jì)師布雷特·維克多(Bret Victor)以及一個(gè)叫做Light Table的交互編程系統(tǒng)的影響。和Light Table類似,Swift的“操場(chǎng)”可以讓用戶在屏幕一側(cè)寫代碼,在另一側(cè)看到運(yùn)行的效果。

在6月初蘋果開發(fā)者大會(huì)上介紹Swift的時(shí)候,拉特納演示了如何用“操場(chǎng)”實(shí)時(shí)修改一款游戲。簡(jiǎn)單說,該工具可以向軟件中加入新代碼,而不用重新 編譯或讓整個(gè)程序重啟。Light Table的創(chuàng)建者克里斯·格朗閣(Chris Granger)表示:“它可以把修改的東西注入到一個(gè)正在運(yùn)行的進(jìn)程中——放到正在運(yùn)行的程序中。”

這做不僅是讓編程更容易,而且提供了一種更好的學(xué)習(xí)編程的方法——讓人人都學(xué)會(huì)這種技能。“希望更直觀有趣的編程工作可以吸引下一代程序員,并重新定義計(jì)算機(jī)科學(xué)的教學(xué)方式,”拉特納寫到。

Light Table做的事情和這差不多——而且可以用多種語言實(shí)現(xiàn)這一點(diǎn),例如Python、Clojure和Javascript。但對(duì)格朗閣來說,“操場(chǎng)”更 為實(shí)用,因?yàn)镾wift為此進(jìn)行了專門的優(yōu)化。他說:“因?yàn)樗麄兛刂屏苏Z言——這是他們創(chuàng)建的語言——他們的目標(biāo)就是做到這一點(diǎn)。他們能做那些我們用其他 語言無法做到的事情。”

這也是一個(gè)立竿見影的激勵(lì)因素。妨礙編程語言普及的一大因素就是程序員沒有時(shí)間去學(xué)習(xí)。“操場(chǎng)”則具有減少學(xué)習(xí)時(shí)間的能力。按照艾什的說法,“操 場(chǎng)”現(xiàn)在還有些bug,但具備了讓編程更流暢的潛力。“一般來說,編程工作很耗時(shí)——要花時(shí)間看反饋——弄明白自己在做什么。但‘操場(chǎng)’提供的反饋是實(shí)時(shí) 的,這可以吸引很多新人。”

速度

“操場(chǎng)”體現(xiàn)出了Swift的另一個(gè)優(yōu)勢(shì),那就是反應(yīng)迅速。它編譯起來很快,這意味著從源代碼到可執(zhí)行應(yīng)用的轉(zhuǎn)變時(shí)間很短;編譯后出爐的應(yīng)用執(zhí)行起來也很快,這意味著程序可以在手機(jī)或平板電腦上高速運(yùn)行。這也是Swift與其他編程語言不同的地方。

過去,像Objective-C和C++這樣的編譯型語言與Python、Ruby以及PHP這樣的解釋型語言兩者間存在區(qū)別。編譯型語言在寫完代 碼之后,必須要等待編譯器將其轉(zhuǎn)化為可執(zhí)行的軟件。不過一旦這一工作完成,可執(zhí)行的軟件運(yùn)行的速度很快。解釋型語言則可以幾乎實(shí)時(shí)地測(cè)試程序,但成品的運(yùn) 行速度沒有那么快。

Swift取長補(bǔ)短。這種新語言在開發(fā)和運(yùn)行時(shí)不會(huì)犧牲速度。正如艾什指出的那樣,Swift“既對(duì)程序員友好,也對(duì)機(jī)器友好”。他表示:“具體的運(yùn)行效果如何還要再看,不過到目前為止看上去還不錯(cuò)。”

這一領(lǐng)域并非只有蘋果。Facebook也在通過“Hack”語言和“D”語言做類似的嘗試,谷歌則是“Go”語言,火狐瀏覽器的開發(fā)商 Mozilla用的是“Rust”。從某些方面看,這些語言的發(fā)展都要快過Swift。Facebook已經(jīng)在使用“Hack”重建自己的大型網(wǎng)絡(luò)服務(wù), 谷歌則使用“Go”改進(jìn)內(nèi)部業(yè)務(wù)。

更重要的是,這些語言大多數(shù)都是開源的。這意味著它們背后的代碼可以被全世界免費(fèi)使用。從理論上說,它們可以更輕松地在其他公司的設(shè)備或服務(wù)上運(yùn) 行。Swift并不開源——至少現(xiàn)在還不是——而且考慮到蘋果緊緊控制自己軟硬件產(chǎn)品的歷史,自然會(huì)有這家公司是否會(huì)限制該語言發(fā)展的擔(dān)憂。艾什表示: “有人擔(dān)心蘋果會(huì)限制該語言發(fā)展的方向——也就是能否撰寫跨平臺(tái)的代碼以及類似的事情。”

即便如此,Swift的普及速度恐怕也是其他語言無法企及的。艾什相信,蘋果最終會(huì)將Swift開源,而且他也相信該語言會(huì)在蘋果的控制之外發(fā)展壯 大——因?yàn)樵撜Z言的開發(fā)者拉特納有著很深的開源情節(jié)。“有他在掌舵,我覺得他會(huì)做出正確的選擇”。在開發(fā)Swift之前,拉特納曾打造過一個(gè)叫做 “Clang”的編譯程序。“Clang”就是開源的,現(xiàn)在被包括谷歌在內(nèi)的很多公司使用。

就算Swift被蘋果牢牢控制,它的影響可能也會(huì)超過近年來涌現(xiàn)的其他語言,而且它的普及速度可能也會(huì)快過現(xiàn)代歷史上所有的語言。這就是擁有iPhone、iPad以及Mac電腦的優(yōu)勢(shì)。

的確,Swift能做的事情,其他許多軟件也能做——有些甚至做得更好。Light Table甚至就有“操場(chǎng)”的替代品。

但Swift是獨(dú)一無二的。

本文鏈接:http://www.cocoachina.com/applenews/apple/2014/0716/9150.html

責(zé)任編輯:chenqingxiang 來源: cocoachina
相關(guān)推薦

2011-11-08 09:18:42

云計(jì)算開源OpenStack

2015-12-16 09:34:53

蘋果swift編程

2011-07-25 09:15:21

蘋果微軟喬布斯

2021-04-14 14:07:36

云計(jì)算云原生SaaS

2012-06-11 09:07:39

Windows 8微軟

2021-04-12 22:19:54

大數(shù)據(jù)計(jì)算機(jī)互聯(lián)網(wǎng)

2014-06-03 10:44:20

Swift開發(fā)語言

2014-06-04 10:52:56

Swift蘋果iOS

2015-01-12 13:04:39

Swift開源項(xiàng)目匯總

2015-11-10 09:55:30

Swift調(diào)查期待

2014-07-16 09:41:12

Swift傳統(tǒng)編程

2015-12-04 10:05:09

蘋果編程開源

2015-04-14 14:23:38

蘋果Swift編程語言

2009-11-06 10:48:14

函數(shù)式編程Scala

2020-02-26 11:31:51

遠(yuǎn)程辦公視頻會(huì)議網(wǎng)絡(luò)

2011-04-25 09:37:03

2024-07-02 13:27:38

2014-03-05 14:58:00

蘋果CarPlayiOS

2014-06-04 10:42:34

Swift蘋果iOS

2014-06-06 09:13:28

SwiftSwift編程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 中文字幕日韩欧美一区二区三区 | 成人国产精品久久久 | 欧美黑人体内she精在线观看 | 国产亚洲一区二区精品 | 日韩亚洲一区二区 | 黑人精品欧美一区二区蜜桃 | av网站免费观看 | 国产日韩精品一区二区 | 亚洲精品一区二区在线 | 欧美一级久久 | 99久久国产 | 成人av在线网站 | 亚洲 欧美 在线 一区 | 日韩精品一区二区三区四区视频 | 色噜噜亚洲男人的天堂 | 91精品国产高清久久久久久久久 | 欧美日韩专区 | 瑞克和莫蒂第五季在线观看 | 欧美极品在线观看 | 欧美成人a| 亚洲 欧美 综合 | 久久一区二区三区四区五区 | 国产精品欧美一区喷水 | 国产一区91在线 | 日本电影网站 | 国产福利91精品一区二区三区 | 日韩精品一区在线观看 | 午夜欧美一区二区三区在线播放 | 欧美日产国产成人免费图片 | 国产精品久久久久久亚洲调教 | 精品免费国产一区二区三区四区 | 欧美不卡一区二区 | 欧美精品v | 欧美精品成人一区二区三区四区 | 婷婷久久综合 | 美国av毛片| 国产99久久精品一区二区永久免费 | 日韩av电影在线观看 | 亚洲高清久久 | 精品国产乱码久久久久久图片 | 色天堂影院 |