「Kotlin 1.5」が公開、JVMレコードやSealedインターフェイスが加わる

 チェコJetBrainsの「Kotlin」開発チームは5月5日、チェコJetBrainsのオブジェクト指向プログラミング言語の最新版となる「Kotlin 1.5.0」の公開を発表した。

 Kotlinは静的型付け、Java互換性、安全性などを特徴とするプログラミング言語で、Java仮想マシン Webブラウザ、Androidを対象とする。モバイルでは、一度ロジックを書き、iOSとAndroidでコードを共有できるという。JetBrainsのIntelliJ IDEA、Android Studio、EclipseなどのJava IDE、コマンドラインを使って構築できる。Kotlin 1.5は2016年に登場したKotlin 1.0の最新のリリース。2020年秋に策定した新しいリリーススケジュールに沿ったものとなる。新しいリリースポリシーは機能主導ではなく時間優先となり、6ヶ月のリリースサイクルをもつ。Kotlinと同時にKotlin IDEプラグインもリリースされることになっている。

 JVMレコード、sealedインターフェース、インラインクラスの言語機能が安定扱いとなった。JVMレコードはJavaのレコードクラス機能と相互運用性があり、KotlinクラスをJavaコード内でレコードとして使用できる。

 Sealed修飾子の導入により、インターフェイスをシールドするSealedインターフェースが可能になった。Sealedクラスの階層構造での問題点(トップクラスをシールドできない、サブクラスを同一ファイルに置く)を解決するという。Sealedクラスに対しても、改善が加わっている。インラインクラスはKotlin 1.3でアルファ導入した機能で、プリミティブ型およびStringなどのリファレンス型をラッピングできる。これによりメモリの割り当てが引き起こすオーバーヘッドを回避でき、性能を改善できるという。1.5では、このインラインクラスを安定化してValueクラスの一部とし、value修飾子を使って宣言するようになった。このほか、標準ライブラリでは、符号なし整数型APIの安定化、java.nio.file.Path の拡張関数の拡張関数などが特徴となる。テストライブラリも強化が加わっている。

 Kotlin/JVMでは、バージョン1.4で発表した新しいJVM IRコンパイラが安定扱いとなり、デフォルトとなった。JVMのターゲットはバージョン1.8となり、1.6は非推奨となった。

Kotlin
https://kotlinlang.org