我不懂 Swift 語言
我略懂 Objective-C,這不是在吹牛。如果你看過我的部落格,你有可能會發現我比你懂得更多的 Objective-C 的知識,因此我對此有一些發言權。即使你不同意我以下的觀點,你也應該認真的對待我的觀點。我曾經自己寫過大量的程式碼,也參加過一些大型團隊,在裡面寫程式碼,我寫的應用面向 OS X 和 iOS。我曾經耗費 30 小時為賈伯斯製作 demo。當然也有很多開發者比我更有經驗,不過我確實是略懂 Objective-C 的,這個你不能否認。
我完全不知道應該怎麼用 Swift 寫程式碼。
其他人也不知道。
甚至連蘋果自己也不知道。
沒人瞭解 Swift,因為它實際上還沒有發展完全。它還處在發展初期,我們仍舊需要時間去研究它。沒有實現建立好的模式,Swift 的語法也很有挑戰性,提供的標準庫也有所變動。而更大的挑戰出現在控制面介面上。我們不知道它們匯是什麼樣子。
也許有人知道 Tim Burks,我一直都很嚴肅地對待他的觀點。他是一個充滿思想的聰明的傢伙。他創造的 Nu 是一個有趣的語言。我甚至同意他對於 Swift 感到失望的一些觀點。不過我們在具體應該怎麼改進這些缺點的想法上存在分歧。最近 Tim Burks 寫了一段建議:
我覺得,學習一門新的程式語言的最好的方法就是花上幾個月的時間,用這門新語言寫一寫複雜一點的應用,而後與專家一起看一看程式碼是否還有可以改進的地方。
這確實是常用的一種學習方法。擁有設計語言經驗的人經常會默默地、偷偷的學習一門新語言。接著他們會把他們領悟到的只是告訴其他人,然後會產生一寫小型的開發者社群。這些都是「圈內人」,最初的適應者。他們嘗試新鮮事物;他們搗鼓新鮮事物;他們能夠創造出更加大型、更加高階的東西。他們也熱衷於寫一些大型的庫(比如 Go 的標準庫)。他們會依據他們得到的知識,對語言稍作修改。接著更多的人過來使用這門新語言,這門新語言變得更加普遍,也許會有許多技術一般的開發者前來使用這門新語言。由於更多的人使用這門新的程式語言,這門語言會逐漸變得更加「重要」。
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 版的時候還不提出問題,那麼如果你可能會需要很久時間才能讓它進行改進。
相關文章
- 多語言ASR?沒有什麼聽不懂,15種語言我全都要
- Swift 語言基礎Swift
- Swift 新語言開發Swift
- Swift語言快速入門Swift
- 淺談Swift程式語言Swift
- 第二章 Swift語言Swift
- Swift多語言版本的建立Swift
- Swift 程式語言入門教程Swift
- Swift 語言的字串與字元Swift字串字元
- Swift 語言的基本運算子Swift
- Swift教程Swift語言快速入門(內部資料)Swift
- OC,swift,javascript,Dart語言比較SwiftJavaScriptDart
- 由Swift程式語言說開去Swift
- Swift語言指南(九)--基本運算子Swift
- swift語言新特性:可選值Swift
- Swift 語言的設計錯誤Swift
- 蘋果新的程式語言 Swift 語言進階(十二)--選項鍊蘋果Swift
- Swift の 函數語言程式設計Swift函數程式設計
- 蘋果的新程式語言 Swift 簡介蘋果Swift
- Apple Swift程式語言入門教程APPSwift
- Swift中使用C語言的指標SwiftC語言指標
- Swift語言Storyboard教程學習總結Swift
- iOS 多國語言本地化與App內語言切換(Swift)iOSAPPSwift
- Swift採用語言伺服器協議Swift伺服器協議
- Chris Lattner:Swift 程式語言首席架構師Swift架構
- 從Swift語言看ORM的定位錯誤SwiftORM
- ios應用開發+swift語言入門iOSSwift
- Go是Google的語言,而不是我們的語言Go
- 為什麼我們需要一門新語言——Go語言Go
- “踩坑”經驗分享:Swift語言落地實踐Swift
- 蘋果Swift程式語言入門教程【中文版】蘋果Swift
- 送福利! Swift語言學習資料彙總Swift
- Xcode 6 beta 釋出,支援Swift程式語言XCodeSwift
- 使用Swift語言的寫的一些appSwiftAPP
- 使用Go語言開發iOS應用(Swift版)GoiOSSwift
- 3天200個開源專案,讓我們聚焦Swift程式語言資料大合集Swift
- 我的C語言學習之路C語言
- 那些年 我追過的語言