Skip to content

程序員眼中的蘋果Swift語言:簡單 易學

  美國時間6月2日舉行的蘋果WWDC大會上,Swift正式曝光在鎂光燈前,嘆息聲、驚呼聲此起彼伏。不過不用太過擔心,Objective-C、Swift能夠在同一個應用程序中並存。

  VentureBeats記者Devindra Hardawar、理查德-佈萊恩-萊利(Richard Byrne Reilly),采訪瞭知名軟件工程師山姆-索菲斯(Sam Soffes),瞭解程序員眼中的Swift。據悉,索菲斯曾創作《Litely》、《Hipstamatic》、《Bible》等應用程序。

  以下是記者準備的七個問題,涉及Swift的優點、缺點。以及Objective-C的結局。索菲斯的答案中有些會有點駭人、令人震驚,或許還有幾絲傷感。

  1、為什麼開發人員會去學習另一種語言?

  蘋果Swift語言的主要目標,是簡單易學、使用便捷高效。蘋果並不是強迫所有人都去學習新的語言。過去,每當他們帶來一些巨大的技術變革(就像是自動引用計數,Automatic Reference Counting),他們都會給開發人員留上點時間,讓人們繼續沿襲老的方式懷舊,直到有一天,他們自己就想要擁抱新技術。

  不過拋棄習慣的一切,轉去學習一些全新的東西絕非易事。對於很多開發者來說,Objective-C就是他們的生計、飯碗。拋棄我們過去幾年已經習以為常的工具,乍聽起來十分困難。不過,蘋果卻總有辦法將人們引向預設的方向。

  蘋果這次的殺手鐧就是“速度”。Swift使用十分便捷,這本身就是一場巨大的勝利。新的語法也非常棒。“我認為Objective-C的開發者,很快就會喜歡上Swift。”

  2、Objective C效率不夠高?

  Objective C是一款非常偉大的語言,它甚至比網絡還要年長。不過這個已為蘋果貢獻多時的編程語言,想要上手卻並不容易,對那些編程菜鳥來說更是如此。“學習難”的主要原因在於,Objective C看起來和其他的C系語言大相徑庭。它最讓人頭疼的原因就在於,它是“蓋在C語言上的薄薄一層”。

  在C這樣的底層語言基礎上創建的東西,很難做到易學、高效。你需要通過C語言去做很多的事情——這顯然並不簡單。蘋果並不需要一個新的語言,不過他們還是積極地去做瞭一些新的、巨大的嘗試。

  3、著手學Swift要用多久?容易麼?

  Swift才剛剛破殼而出,現在來講,這一問題的答案還很難說。“在嘗試瞭幾個小時之後,我把自己的ObjectiveC程序改用Swift編寫,進展非常不錯。起初,我真的感到很沮喪。不過,當我妥協之後,接受瞭學習過程中可能會讓人有些別扭,Swift的文檔反而就變得更容易閱讀,遇到問題的時候也能迎刃而解。”

  Swift最出色的一大亮點在於:擺脫瞭C的束縛,Swift語言十分便捷。

  想把Objective C介紹給那些沒有編程基礎的人非常困難。你必須去解釋所有的例外規則,然後再從頭開始深入講解計算機科學話題。Swift跳過瞭這一切,隻是簡簡單單去編碼就OK。

  4、Swift從哪裡汲取靈感?

  Swift從多種編程語言中獲得靈感。我在用它編碼的時候,會想起JavaScript、Go、Ruby以及其他一些語言。Objective C歲數比較大。Swift是一個非常可喜的變化,它擁有從很多現代編程語言延伸出的靈感。

  5、Swift的目標是?

  蘋果Swift的目標,是讓任何人都能夠快速學習,高效編碼。“我覺得,他們可能希望用幾年的時間完全淘汰掉Objective C。”簡單易學大有裨益,也會吸引更多的開發者會來到蘋果的平臺。

  6、Swift vs 微軟、谷歌語言?

  “用Swift的時候,我的眼前總會浮現出谷歌Go語言。Go擁有很好的並發功能,很欣喜能看到蘋果汲取瞭Go的一些特點。微軟C#語言也十分簡潔。不過,現在才僅僅是蘋果新語言的開始。

  7、Swift可以省下兩、三行代碼?

  當然可以。相比Objective C,Swift算得上是極致簡潔。很多內容寫在一行,卻仍然簡單易讀。當然,用Objective C也能實現不少功能,但是內容會很長,而且不方便閱讀。有些新的東西,用Objective C編寫起來會讓人十分頭疼,但是用Swift卻是種快樂的享受。

  “才與Swift接觸短短一天的時間,又開始用Objective C去寫代碼瞭。不過,我已經開始想念起瞭Swift。”