程序員眼中的Swift:簡單 易學(xué) 高效
當(dāng)前位置:點(diǎn)晴教程→閑情逸致
→『 微信好文 』
對于蘋果開發(fā)者來說,如今已經(jīng)進(jìn)入了 "Swift 時(shí)代 "。雖然編程語言 Objective C 備受喜愛,不過它作為蘋果主流編程語言的日子已經(jīng)所剩無幾。隨著 WWDC 開發(fā)者大會的落幕,Swift 即將取而代之,成為蘋果新 iOS 8、OS X Yosemite 的新寵。
美國時(shí)間 6 月 2 日舉行的蘋果 WWDC 大會上,Swift 正式曝光在鎂光燈前,嘆息聲、驚呼聲此起彼伏。不過不用太過擔(dān)心,Objective-C、Swift 能夠在同一個(gè)應(yīng)用程序中并存。 VentureBeats 記者 Devindra Hardawar、理查德 - 布萊恩 - 萊利(Richard Byrne Reilly),采訪了知名軟件工程師山姆 - 索菲斯(Sam Soffes),了解程序員眼中的 Swift。據(jù)悉,索菲斯曾創(chuàng)作《Litely》、《Hipstamatic》、《Bible》等應(yīng)用程序。 以下是記者準(zhǔn)備的七個(gè)問題,涉及 Swift 的優(yōu)點(diǎn)、缺點(diǎn)。以及 Objective-C 的結(jié)局。索菲斯的答案中有些會有點(diǎn)駭人、令人震驚,或許還有幾絲傷感。 1、為什么開發(fā)人員會去學(xué)習(xí)另一種語言? 蘋果 Swift 語言的主要目標(biāo),是簡單易學(xué)、使用便捷高效。蘋果并不是強(qiáng)迫所有人都去學(xué)習(xí)新的語言。過去,每當(dāng)他們帶來一些巨大的技術(shù)變革(就像是自動引用計(jì)數(shù),Automatic Reference Counting),他們都會給開發(fā)人員留上點(diǎn)時(shí)間,讓人們繼續(xù)沿襲老的方式懷舊,直到有一天,他們自己就想要擁抱新技術(shù)。 不過拋棄習(xí)慣的一切,轉(zhuǎn)去學(xué)習(xí)一些全新的東西絕非易事。對于很多開發(fā)者來說,Objective-C 就是他們的生計(jì)、飯碗。拋棄我們過去幾年已經(jīng)習(xí)以為常的工具,乍聽起來十分困難。不過,蘋果卻總有辦法將人們引向預(yù)設(shè)的方向。 蘋果這次的殺手锏就是 " 速度 "。Swift 使用十分便捷,這本身就是一場巨大的勝利。新的語法也非常棒。" 我認(rèn)為 Objective-C 的開發(fā)者,很快就會喜歡上 Swift。" 2、Objective C 效率不夠高? Objective C 是一款非常偉大的語言,它甚至比網(wǎng)絡(luò)還要年長。不過這個(gè)已為蘋果貢獻(xiàn)多時(shí)的編程語言,想要上手卻并不容易,對那些編程菜鳥來說更是如此。" 學(xué)習(xí)難 " 的主要原因在于,Objective C 看起來和其他的 C 系語言大相徑庭。它最讓人頭疼的原因就在于,它是 " 蓋在 C 語言上的薄薄一層 "。 在 C 這樣的底層語言基礎(chǔ)上創(chuàng)建的東西,很難做到易學(xué)、高效。你需要通過 C 語言去做很多的事情——這顯然并不簡單。蘋果并不需要一個(gè)新的語言,不過他們還是積極地去做了一些新的、巨大的嘗試。 3、著手學(xué) Swift 要用多久?容易么? Swift 才剛剛破殼而出,現(xiàn)在來講,這一問題的答案還很難說。" 在嘗試了幾個(gè)小時(shí)之后,我把自己的 ObjectiveC 程序改用 Swift 編寫,進(jìn)展非常不錯(cuò)。起初,我真的感到很沮喪。不過,當(dāng)我妥協(xié)之后,接受了學(xué)習(xí)過程中可能會讓人有些別扭,Swift 的文檔反而就變得更容易閱讀,遇到問題的時(shí)候也能迎刃而解。" Swift 最出色的一大亮點(diǎn)在于:擺脫了 C 的束縛,Swift 語言十分便捷。 想把 Objective C 介紹給那些沒有編程基礎(chǔ)的人非常困難。你必須去解釋所有的例外規(guī)則,然后再從頭開始深入講解計(jì)算機(jī)科學(xué)話題。Swift 跳過了這一切,只是簡簡單單去編碼就 OK。 4、Swift 從哪里汲取靈感? Swift 從多種編程語言中獲得靈感。我在用它編碼的時(shí)候,會想起 JavaScript、Go、Ruby 以及其他一些語言。Objective C 歲數(shù)比較大。Swift 是一個(gè)非??上驳淖兓?,它擁有從很多現(xiàn)代編程語言延伸出的靈感。 5、Swift 的目標(biāo)是? 蘋果 Swift 的目標(biāo),是讓任何人都能夠快速學(xué)習(xí),高效編碼。" 我覺得,他們可能希望用幾年的時(shí)間完全淘汰掉 Objective C。" 簡單易學(xué)大有裨益,也會吸引更多的開發(fā)者會來到蘋果的平臺。 6、Swift vs 微軟、谷歌語言? " 用 Swift 的時(shí)候,我的眼前總會浮現(xiàn)出谷歌 Go 語言。Go 擁有很好的并發(fā)功能,很欣喜能看到蘋果汲取了 Go 的一些特點(diǎn)。微軟 C# 語言也十分簡潔。不過,現(xiàn)在才僅僅是蘋果新語言的開始。 7、Swift 可以省下兩、三行代碼? 當(dāng)然可以。相比 Objective C,Swift 算得上是極致簡潔。很多內(nèi)容寫在一行,卻仍然簡單易讀。當(dāng)然,用 Objective C 也能實(shí)現(xiàn)不少功能,但是內(nèi)容會很長,而且不方便閱讀。有些新的東西,用 Objective C 編寫起來會讓人十分頭疼,但是用 Swift 卻是種快樂的享受。 " 才與 Swift 接觸短短一天的時(shí)間,又開始用 Objective C 去寫代碼了。不過,我已經(jīng)開始想念起了 Swift。"(布珝) 該文章在 2014/6/9 13:20:29 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |