作者:Erica Sadun,原文鏈接,原文日期:2016-06-09
譯者:天才175;校對:shanks;定稿:千葉知風
親愛的埃麗卡:“對于還沒追隨最新進展的人來講,你認為 Swift 3 將會有哪些最重大或最出色的改變?說實話,我有點失望。相對于 Swift 1 到 2 的改變(aka 協議擴展),給我的感覺就像是雖然有重大的改變,但不是那種能改變你如何設計一個程序的”
我不能肯定地說“沒有新的范式轉變”是一件壞事。作為一種語言,Swift 顯然知道它是怎樣的。它還沒有達到完全成熟(不完整泛型就能很好地說明這門語言還需要在烤箱里多待一會兒),但是已經確定了是什么樣。清晰的 Swift 理念正在推動著進展。
Swift 歷史
Swift 歷史是這樣的:
Swift 1 確定了基線:類型安全的,迅速的,現代的。它展現了 Swift 的可能性。我們有了可選,智能的值類型,以及很多受歡迎的重大特性。這使得很多 Objective-C 程序員站起來說道“噢,看那個,有值得研究的東西。”
Swift 2 使它革命性地成為面向協議編程的語言,擁有像是重新設計的錯誤處理等很多很酷的特性。它展現了 Swift 應該是什么。突然間,Swift 不僅僅是有點意義了,它開始為蘋果社區創造新的范式,并在開源后,進軍走向新的平臺。
Swift 3 像是“打掃房屋”,“打破一切”。可以把它當作語言必經之挫折,用來保證語言基礎的健全以及一致性。它可能不是最有趣的版本(說到這個,我最能想出的純粹的“喜悅”的功能就是凱文巴拉德的序列/取/放功能),卻能使得語言更為干凈。
Swift 4 應該很有希望充滿榮耀。我們應該可以看到完整泛型,并發,以及更多的東西:有趣,刺激,強大的特性。Swift 4 將會從其他語言獲得靈感,并從數年的公眾使用和反饋中吸收經驗。Swift 4 應該是“幾乎不打破東西”的版本,會讓你覺得不能弄清楚公關應該如何推銷它。(這也可能是 Swift 包管理器應該能取得 “Swift 2” 榮耀的地方。)
否定,憤怒,討價還價,接受
Swift 2 到 3 會有很多讓人們瘋狂的改變。我們可以看到心愛的退化構造的消亡。Swift 正在以怪異的方式去重命名一切(“sorting”,“unioning” 等--而且,我不能保證當你把這些與 “sortInPlace” 和 “uninonInPlace” 做比較時,不會覺得 API 指令很致幻)。還有對熟悉命名的前綴剝離以及默認參數改變簽名等等。
很多類似這樣的改變就像給語言灌腸一樣。它不見得是一個你可以獲得歡樂的轉變,但它之后可以使你的開發再次正確運轉。(“Swift 3:健康纖維更新!”)
顯然,很難對像“將 inout 關鍵字轉變為裝飾類型而不是標簽”這樣的改變興奮起來,但是如果語言想保證它的卓越并交付到下一階段,這是必要的家務活。
關于 Swift 3 路線圖,我的總結如果有什么遺漏的話,那就是:Swift 3 是一門真正偉大的語言。而且 Swift 3 比 Swift 2 更好。
我可能會嘲笑一些命名的抉擇,擔心不熟悉的 Cocoa 調用,但總的來說,Swift 將會是我想要在未來幾年用來寫代碼的語言。我也認為,在 Swift 3 發布后,蘋果社區的大部分(以及更多!)會贊同。
你可以在這個 Github 倉庫的 README 中找到一些通過了以及實施了的 Swift 3 提議。它們可能看起來有點枯燥,但是它們將會使事情變得不同。以一種高纖維維生素滿載思慕雪的方式。
本文由 SwiftGG 翻譯組翻譯,已經獲得作者翻譯授權,最新文章請訪問 http://swift.gg。