チェコJetBrainsは、同社が開発したプログラミング言語「Kotlin」の次期版となる「バージョン1.8.20」のベータ版を2月8日(現地時間)に公開した。KotlinはJavaを基に、より簡潔にコードを記述できるようにすることと、より安全にプログラムを実行できることを目指して開発している言語。コードをコンパイルすると、Javaのバイトコードを出力し、そのままJava仮想マシンで動作させることが可能だ。
まず、新しいコンパイラ「K2」に新機能が加わった。K2コンパイラは、バージョン1.7.0に合わせて登場したものだが、まだアルファ版という位置付けになっている。今回は、K2コンパイラがアルファ版として「Kotlin/JS IRコンパイラ」バックエンドに対応した。
Kotlin/JS IRコンパイラは、KotlinのコードからJavaScriptのコードを生成するコンパイラだが、Kotlinコードから直接JavaScriptコードを生成せず、Kotlinのコードを一旦「Kotlin intermediate representation(IR)」という中間言語に変換し、そこからJavaScriptコードを生成する形を採る。JetBrainsによると、こうすることでKotlinコードから直接JavaScriptコードを生成するよりも、より積極的な最適化が可能になるという。また、生成したコードの互換性も改善するとしている。さらに、今回のベータ版からK2コンパイラがKotlin言語の次期版である「Kotlin 2.0」に対応した。
そして、Kotlinコードから、WebAssemblyファイルを生成する機能が「実験的」という位置付けで新たに加わった。現在のところは標準ライブラリ(Kotlin Standard Library)と、テスト・ライブラリ(Test Library)が使用できる。統合開発環境にはまだ対応していないが、将来のバージョンで対応するとしている。
また、Kotlinコードから実行可能なバイナリを直接生成する「Kotlin/Native」では、コンパイル先の環境を「Tier 1」「Tier 2」「Tier 3」の3段階に分類した。Tier 1は、コードをビルドできて実行できることを確認できている環境で、x86_64プロセッサで動作するLinuxや、macOS(Intel、Apple Siliconともに)、iOSシミュレーターなどが該当する。Tier 2は、ビルドできることは確認しているが、実行できることを確認してはいない環境。64ビットArmプロセッサで動作するLinuxや、iOS、iPadOS、watchOS、tvOSなどが該当する。Tier 3は、ビルドできる保証がないという環境で、Android、64ビットMinGWなどが該当する。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です