回顧Swift 3,展望Swift 4

2021-12-30 13:21:25 字數 1007 閱讀 8560

在 swift 3late 2016版本臨近發布之際,蘋果公司開發者工具部門高階總監 chris lattner 發給「swift-evolution」郵件列表一篇長文。文中對 swift 3 的開發過程進行了回顧,並給出了對 swift 4 的期望。

在對 swift 3 的回顧中,lattner 主要側重於說明開源軟體開發的成效及所存在的缺點。他特別指出,相對於「封閉式設計」而言,「開放式設計」速度慢且更難**,但是最終結果卻是「顯著地改善」了。對於開發而言,使開發社群專注於有限數量的主題上,以及使核心團隊參與到最前線的關係討論中,這兩者是至關重要的。此外,lattner 還指出,在開發中具備明確的目標將有助於工作重點的確定,並可避免出現在設計範圍之外完成的子專案。

基於上述觀點,lattner 闡明了 swift 4 所將具有的兩個首要設計目標,即「自 3.0 版本起,交付具有原始碼穩定性承諾的版本,以及為標準庫提供 abi 穩定性」。鑑於此,可預見核心團隊直到 2017 年春都將忙碌於第一階段。該階段的工作主要是針對影響現有 abi 或者是導致現有標準庫特性發生重要改變的特性。下面列出了核心團隊在第一階段中將優先實現的一些特性:

原始碼穩定性,例如編譯器選項-std=swift3,使用該選項可有條件地啟用更多的目前正在開發但尚不穩定的功能; 適應性,提供在不影響 abi 穩定性的前提下使公用 api 持續演進的方法; 標準庫所需的通用改進,例如:條件性符合(conditional conformances)、遞迴協議約束(recursive protocol requirements),以及其它的一些改進; 對字串的重評估,目的在於改進 swift 的字串程式設計模型,使得該模型做到與 perl 字串處理一樣的好。 記憶體所有權模型(可選項)。該模型受 cyclone 或 rust 的記憶體所有權模型啟發,目的在於實現效能的可**性和確定性。更多細節可參考這裡。

一旦第一階段的進展達到頂峰,第二階段將根據所剩餘的時間對新特性進行界定和規劃。在第二階段中會考慮以下特性:

回顧Swift 3,展望Swift 4

在swift 3 late 2016版本臨近發布之際,蘋果公司開發者工具部門高階總監chris lattner發給 swift evolution 郵件列表一篇長文。文中對swift 3的開發過程進行了回顧,並給出了對swift 4的期望。在對swift 3的回顧中,lattner主要側重於說明開源...

回顧Swift 3,展望Swift 4

在swift 3 late 2016版本臨近發布之際,蘋果公司開發者工具部門高階總監chris lattner發給 swift evolution 郵件列表一篇長文。文中對swift 3的開發過程進行了回顧,並給出了對swift 4的期望。在對swift 3的回顧中,lattner主要側重於說明開源...

Swift3建立陣列

陣列是由一組型別相同的元素構成的有序資料集合。陣列中的集合元素是有 序的,而且可以重複出現。在swift語言中,陣列的型別格式為 array或 elementtype 其中array中的elementtype表示陣列的型別,是泛型寫法。elementtype 是一種簡寫方式。兩者表示的功能是一樣的,...