我不懂 Swift 語言

tech2ipo發表於2014-07-24

  我略懂 Objective-C,這不是在吹牛。如果你看過我的部落格,你有可能會發現我比你懂得更多的 Objective-C 的知識,因此我對此有一些發言權。即使你不同意我以下的觀點,你也應該認真的對待我的觀點。我曾經自己寫過大量的程式碼,也參加過一些大型團隊,在裡面寫程式碼,我寫的應用面向 OS X 和 iOS。我曾經耗費 30 小時為賈伯斯製作 demo。當然也有很多開發者比我更有經驗,不過我確實是略懂 Objective-C 的,這個你不能否認。

我完全不知道應該怎麼用 Swift 寫程式碼。

其他人也不知道。

甚至連蘋果自己也不知道。

  沒人瞭解 Swift,因為它實際上還沒有發展完全。它還處在發展初期,我們仍舊需要時間去研究它。沒有實現建立好的模式,Swift 的語法也很有挑戰性,提供的標準庫也有所變動。而更大的挑戰出現在控制面介面上。我們不知道它們匯是什麼樣子。

  也許有人知道 Tim Burks,我一直都很嚴肅地對待他的觀點。他是一個充滿思想的聰明的傢伙。他創造的 Nu 是一個有趣的語言。我甚至同意他對於 Swift 感到失望的一些觀點。不過我們在具體應該怎麼改進這些缺點的想法上存在分歧。最近 Tim Burks 寫了一段建議

我覺得,學習一門新的程式語言的最好的方法就是花上幾個月的時間,用這門新語言寫一寫複雜一點的應用,而後與專家一起看一看程式碼是否還有可以改進的地方。

  這確實是常用的一種學習方法。擁有設計語言經驗的人經常會默默地、偷偷的學習一門新語言。接著他們會把他們領悟到的只是告訴其他人,然後會產生一寫小型的開發者社群。這些都是「圈內人」,最初的適應者。他們嘗試新鮮事物;他們搗鼓新鮮事物;他們能夠創造出更加大型、更加高階的東西。他們也熱衷於寫一些大型的庫(比如 Go 的標準庫)。他們會依據他們得到的知識,對語言稍作修改。接著更多的人過來使用這門新語言,這門新語言變得更加普遍,也許會有許多技術一般的開發者前來使用這門新語言。由於更多的人使用這門新的程式語言,這門語言會逐漸變得更加「重要」。

 我不懂 Swift 語言 

  Swift 已經呱呱墜地了。它只是一個半成品。Swift 有些部分被認為很爛,在你的眼前也有很多的問題。它大部分的庫仍舊是用 Objective-C、C 還有 C++寫的。而這只是一個開始。你是最初的改編者,你逐漸在團隊中改進各種問題。由於現在還處於 Swift 的發展初期,因此你可能會需要對 Swift 進行成千上萬次的改進。

  這絕對是一個很重要的「成名」機會。我相信,Swift 會獲得 TIOBE 的「年度程式語言」評價。要知道,在它還沒釋出的時候它就位於 TIOBE 列表的第 16 位。現在開發者處在 Swift 的第一層,腳下的地基是剛剛澆築好的。地基看起來挺結實的,不過 Swift 目前還不是一棟「大樓」。

  蘋果已經把 Swift 列為蘋果官方的推薦語言。但是我在想的是他們會不會真的嚴格地遵循這個決定。「開發者能用 Swift 開發出怎樣美好的 iOS 和 Mac 應用,將成為評價 Swift 的唯一標準。」我相信在這個標準上,Swift 會比 Objective-C 表現得更好一些好(不過我愛 Objective-C)。儘管如此,我覺得蘋果不會從現在開始起立刻全面推行 Swift、放棄 Objective-C。

  現在你正在 Swift 發展的初期。沒有什麼 Swift 大師之類的人,也沒有什麼有經驗的開發者高高在上指導你各種語法問題。你就是開發元老,你就是 Swift 開發大師。

  你是一個使用 Swift 開發 0 天的 Swift 專家。如果你已經寫了一段時間的 Swift 程式碼,那麼你就是一個有 0 年 Swift 開發經驗的專家,因為你在等待 iOS 8 正式釋出。我推薦大家讀一切能夠閱讀到的資料,寫寫東西,融入到 Swift 開發的大潮中。(我個人而言目前推薦這兩個 Swift 部落格:Airspeed Velocity 還有 nomothetis。我強烈推薦這兩個部落格,它們教了我很多的知識,也希望能夠有更多的人這樣寫部落格。)多試試新模式,看看它們能不能執行,告訴其他人你的發現。

  並且,最重要的是,如果 Swift 讓你感到困擾、對你來說不管用,或者如果你發現 Swift 能在某些方面進行提高,現在、立刻、馬上就說出來。將你發現的問題放到開發者論壇上,寫個範例,告訴其他開發者你的程式碼是什麼樣的。Swift 仍舊在改變,它是 beta 版本,所以它肯定是能夠改變的。要知道如果你在它是 beta 版的時候還不提出問題,那麼如果你可能會需要很久時間才能讓它進行改進。

  原文:RobNapier 翻譯:翛凌  

相關文章