Swiftの開発リーダであるTed Kremenek氏が、Swiftのメーリングリストを通じて、Swift 6で採用される予定の機能の見通しと、コミュニティの参画方法について発表した。Swift 6では並列性サポートの向上やメモリオーナシップなど、言語レベルでの大幅な改善が予定されている。リリースのタイムラインは未定だが、その内容からは、2020年内ではないと思われる。
Kremenek氏によると、Swift 6のタイムラインが依然としてフィックスされていないのは、新しい言語バージョンに必要な変更の幅と深さに理由がある。
これらは言語自体の大きな変更なので、議論や調査、実装のための時間が必要です。"Swift 6"としてのタイムラインを示すのではなく、開発目標を確立し、コミュニティ参画の下で開発を進めて、それらが完成した時点でSwift 6をリリースしたいと考えています。
ただしこれは、Swift 6が完成するまでSwiftチームが沈黙を守るという意味ではない。まったく逆にKremenek氏は、Swift 6のリリースに向けて多数の中間リリースを行って、それぞれを目的のあるメジャーリリースにすることを考えている。
これら中間的な5.xリリースは、Swiftコアチームの提案ではおもに3つの領域 — Swiftエコシステム、開発者エクスペリエンス、言語の洗練化 — を目標としているが、コミュニティが関連すると考える重点が追加される可能性は否定されていない。
Swiftエコシステムは、Appleプラットフォームでは疑いなく主流となっているが、その他の領域での成長を促進するために、他プラットフォームのサポートを強化する必要がある、とKremenek氏は言う。その中には、Swiftプログラムのインストールやデプロイ方法を再定義、Swift Language ServerやPackage Managerなどを中心としたツーリングの改善、サーバサイドでの利用や数値計算アプリケーションを特に意識したオープンソースライブラリのエコシステムの充実化、といった作業が含まれる。
開発者エクスペリエンスは、Kremenek氏によれば、すでにSwiftの中心的課題のひとつになっており、ビルドの高速化やより正確な診断、コード補完やデバッグサポートの改善といった作業が行われている。
言語面に関して言えば、Swift 6で想定されている大規模な変更よりも前に達成可能な、興味深い改良がいくつも存在する。特にSwift 5シリーズでは、可変ジェネリクスのサポート改善、関数ビルダを使用したDSL機能、組み込みシステムやマシンラーニングアプリケーションを含む汎用目的での利用性の向上、といった改善が望まれている。
Kremenek氏の発表に対する反応は概ね肯定的であったが、言語への適切な並行性サポートの追加という目標の緊急性に関しては、認識の違いも見受けられた。否定的な記事として、古くからAppleの開発に携わっているJohn Shier氏は、Swiftパッケージリポジトリに統合する計画がいまだ立案されていない点を指摘している。Kremenek氏はこれに対して、リポジトリを統合することの価値を認めた上で、GitHubが先頃、GitHubリポジトリ内にあるSwiftパッケージのサポートを発表したことを指摘するとともに、Swift 6に向けたさらなる活動についても言及している。多くのRedditコメンテータも、Swiftにおける並列性サポート改善の重要性を強調すると同時に、言語レベルでのasync/await
サポートやGoのチャネルにヒントを得たソリューションなどを提案している。今のところ、Swiftがどのような方向を選択するのかは明らかではないが、Chris Lattner氏のSwift並列性マニフェストから現在のビジョンを確認することはできる。同じように、メモリオーナシップの開発に関する方向性についても、Swiftのオーナシップに関するマニフェストに記載されている。