オープンソース化の是非
アップルの開発ツール部門のシニアディレクターであるクリス・ラトナー氏が、スウィフト(Swift) 3の開発を振り返るとともに、スウィフト4の開発方針をメーリングリストを通じて説明した。すでにスウィフトを利用している開発者はもちろんだが、スウィフトへの移行のタイミングを探っている人、そしてスウィフトを学びたい人にとっても参考になる内容になっている。
アップルは2015年春に開催したWWDC(世界開発会議)でスウィフトのオープンソース化を発表、その年の12月に公開した。スウィフト3は、オープンソース化とともに開発が進められた初のバージョンだ。
スウィフト2までのクローズドな開発に比べて、スウィフト3の開発は「ペースが遅い」「予期せぬ方向に進む」といったオープンソースの問題の影響を受けたという。だが、最終的には利点が勝ったとしている。
問題の原因は、最初に欲張りな目標を設定し過ぎたこと。方向性があやふやになったため目標を見直し、ゴールを明確にしてからはコミュニティの自由な発想から期待以上の成果が上がるようになった。ラトナー氏は「優秀で熱心な人々との作業は本当に素晴らしい」と、オープンソースでの取り組みを称えている。
スウィフト3開発における目標の見直しによって円滑化を図った結果、いくつかの課題がスウィフト4開発へ先送りになった。中でも重要なのが、ABI(アプリケーション・バイナリ・インターフェイス)の安定化である。ABIは、 OSやライブラリといったシステムとプログラムの間のバイナリレベルのインターフェイスである。 ABIが安定すれば、プログラムの互換性がバイナリレベルで保証される。
スウィフトは、過去の言語開発には見られないような急速な成長を遂げてきた。その一因として、後方互換性を切り捨て、進化に専念してきた大胆な開発が挙げられる。その代償として、アップデートの度にコンパイルエラーや警告が出てくるというような負担を開発者に強いていた。それでも既存の言語の良いところを取り入れたモダンな言語に魅力された開発者たちが、スウィフトを支持してきたのだ。しかし、スウィフトをメジャーな言語として普及させるなら、互換性の実現は欠かせない。
スウィフト4では、ABIの安定化とスウィフト 3のソースへの後方互換性が最優先目標になる。 ABI安定化の効果は互換性だけではない。すでにスウィフトでアプリを開発しているなら、これまでは標準ライブラリを含めることで約10MBを取られていたが、それが不要になるのも大きい。
スウィフト4の開発は2つのステージで進められる。第1ステージではソースとABIの安定化のための基盤整備を優先し、第2ステージでデザインと実装を行いながら、残された時間で他の機能に取り組む。
メジャー言語に向けた第一歩
スウィフト3の開発で目標の見直しがあったように、目標は「約束ではない」とラトナー氏は明言している。スウィフトはまだ進化の途上であり、 ABIの安定化が図られても、他の目標との兼ね合いからバージョンアップに伴う開発者の負担がゼロになるとは限らない。現時点ではまだ、混乱を招くような仕様変更が起こる可能性が考えられる。たとえば、パール(Perl)よりも優れた処理を目指した文字列の再評価、サイクロン(Cyclone)やラスト(Rust)を意識したメモリオーナーシップモデル、一級クラスのコンカレンシー(並行性)、ジェネリクス(総称型)の改善といった目標がスウィフト4開発にはリストされている。
それでも大局的には、スウィフトはこれまでよりも安定していくと期待できる。また、オープンソース化、それに続くスウィフト3との後方互換性という目標設定から、これからスウィフト開発の軸足が進化から成長に移っていくのは明らかだ。「初期の混乱は避けたいけれど、なるべく早くスウィフトに取り組みたい」と考えている人がスウィフトに挑戦するべき時期到来となりそうだ。
スウィフトのソースコードやドキュメントの管理にも利用されているギットハブ(GitHub)。リポジトリのランキング「オープンソースショーケース」によると、スウィフトはギットハブでもっとも活発に開発されているプログラミング言語だ。
スウィフト開発に関する提案や議論などはメーリングリストを通じてコミュニティで共有されており、今回のクリス・ラトナー氏のメッセージはスウィフトのロードマップや開発状況を管理するスウィフト・エボリューションのメーリングリストで公開された。【URL】https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20160725/025676.html
スウィフトのコアチームは、2016年秋にスウィフト3をリリースしてから、2017年春にスウィフト3.xを2つリリースする予定。大きなリリースの間にバグの修正やサービスを追加するマイナーアップデートが行われ、2017年秋にスウィフト4が登場する。
【News Eye】
スウィフトに関心があるなら、まずチェックするべきなのがWEBサイト「Swift.org」。ブログ、ドキュメント、ソースコードの情報など、スウィフトに関する情報ポータルになっており、「Getting Started」には開発を始めるのに必要な情報がまとめられている。【URL】https://swift.org