KotlinはJVM言語であり、「Javaプログラミング言語と100%互換」「既存のJavaコードベースがKotlinと適切に相互作用できる」などに重点が置かれています。Kotlinコードは、JVM(Java Virtual Machine:Java仮想マシン)で動作するJavaバイトコードへコンパイルされます。
KotlinではJava 6とJava 8の互換バイトコードの生成を選択できます。より高いバージョンのプラットフォームに対して、より最適なバイトコードを生成できます。
KotlinのJava連携能力は非常に高く、ほぼ完全な互換性があるため、「KotlinコードからJavaコードを呼び出す」「JavaコードからKotlinコードを呼び出す」ことが可能で、JavaコードとKotlinコードを混在させた開発も可能です。遥かに簡単に導入を行え、開発リスクを低減できます。
・Javaの抱える問題から解放されてプログラミングできる
・高い信頼と性能を持ったJVM上で動く
・Javaによって記述された既存のライブラリ/フレームワークなどの資産を活用できる
・「Java-to-Kotlinコンバートツール」で既存のコードの移行を簡素化できる
Kotlinのコンパイラは「Javaバイトコード」の他に、「JavaScriptコード」を出力できます。JavaScriptターゲットを選択すると、プロジェクトの一部であるKotlinコードとKotlinに付属する標準ライブラリがJavaScriptに変換されます。
JavaScriptコードを利用することで、バックエンドとフロントエンドの双方でKotlinを使った開発も行えます。
Kotlinは、静的型付けの本格的なオブジェクト指向言語で、「型推論」「ラムダ式」「高次関数」「関数型」などのモダンな文法/機能を備えています。
クラスベースのオブジェクト単位で開発を行うことができるため、開発スピードや作業工数を削減できます。
Kotlinはコンパイラ言語であるため、他のインタプリタ言語よりも実行速度が高速です。
Kotlinは「型」や「null」について厳格に取り扱う設計になっているため、Javaよりも安全なコードを書けます。
コンパイル時にソースコードの誤りが発見されるため、開発者は早い段階でバグを発見でき、より安全なコーディングを行えます。
特にnullの問題については、「nullポインタの逆参照(NullPointerException)」が起こり得ないような仕組み(null安全)が言語機能として提供されています。
型として「nullを持つ型」と「nullを持たない型」が区別されます。型検査の結果、中身がnullではないことが確認されると、その時点で中身の型にキャストされます。
このような仕組みにより、NullPointerExceptionが発生する可能性を非常に低くすることができ、コードの安全度が増します。
その他にも、さまざまな「ミスを未然に防ぐための機能」が導入されており、イージーなコーディングバグを生みにくい言語になっています。
Kotlin標準ライブラリでは、主として開発において必要不可欠なものを提供しています。
・慣用パターン---let/apply/use/synchronizedなどを実装する高次関数
・コレクション---クエリ操作を提供する拡張関数
・各種ユーティリティ---文字列操作、文字シーケンス操作
・JDKクラス拡張機能---ファイル操作、IO処理、スレッド処理 など
→Kotlin →Kotlin Standard Library
kotlin.testライブラリは、使用されているテストフレームワークとは独立して、テストでのアサーションを実行するためのテスト関数とユーティリティ関数のセットを提供します。
OSS×Cloud ACCESS RANKING