米Appleは、プログラミング言語「Swift」の新版となるバージョン6を9月17日(現地時間)に公開した。SwiftはApache 2.0ライセンスを基にした独自ライセンスで公開しているオープンソースソフトウェア。
今回の新版では、マルチスレッドプログラムのコンパイル時に、複数のスレッドがメモリ上の同じ領域にアクセスしてしまう「データ競合(Data Race)」を検出し、エラーと判定する機能が備わった。C++の場合、プログラムの実行時にデータ競合を発生してしまうとプログラムの停止などの深刻な事態につながる可能性がある。コンパイル時にデータ競合をエラーとして検出する機能が加わったことで、マルチスレッドプログラムを安全に作りやすくなったと言える。
コンパイル時にデータ競合を検出する機能は、Swiftのバージョン5.10から利用できたが、コンパイル時に特定のフラグを指定する必要がある上、検出してもエラーとはせず、警告を出すにとどまっていた。Appleは、Swift 6のデータ競合検知機能は、従来に比べて誤検出が減ったとしている。
また、Swift言語のサブセット「Embedded Swift」がプレビューとして登場した。これは、メモリやプロセッサ時間などのコンピュータ資源が乏しい組み込み機器のプログラム開発に使えるもので、OSやランタイムを使うことなく、プロセッサ(マイクロコントローラー)で直接動作するプログラムを開発できる。現在のところ、32ビットArmと、32ビットRISC-Vに対応している。
さらに、すべてのライブラリを静的にリンクして、外部依存を排除したプログラムを開発できるソフトウェア開発キット(SDK)も登場した。このSDKはLinuxに対応する。このSDKを使えば、実行ファイルを配置するだけで動作するLinuxプログラムを開発できる。外部依存を解決するための煩雑な準備が必要なくなるため、プログラムの保守がやりやすくなる。
加えて、これまでLinuxとしてUbuntuのみに対応していたところ、今回の新版からDebianとFedoraにも公式に対応した。Windows版には、Arm版のコンパイル速度が大幅に向上するなどの改良が加わった。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です