Kotlin開発チームはKotlinの設計方針を次のように定めています。
・Java互換
・Javaと同等のコンパイル速度
・Javaよりも安全
・Javaよりも簡潔
・Scalaよりもシンプル
・表現力を実用的なレベルに維持
Kotlinは「Java」「C#」「JavaScript」「Scala」「Groovy」などの既存言語の影響を受けて設計されています。
開発チームは、Kotlinを簡単に学べるように設計しているため、「初めてKotlinに触れる方でも数日で読み書きできるようになります」としています。
Kotlinの高度な機能を使用するまでには少し時間がかかりますが、全体的には複雑な言語ではありません。
Kotlinのコーディング文法(記法)はシンプルに設計されているため、Javaより簡潔に記述できます。コード行数ベースでは、Javaより概算で約40%削減されています。
・ボイラープレートコード量を大幅に削減
・equals()、hashCode()、toString()、copy()などを単一の行に書ける
・クロージャをシンプルに書ける
・ラムダ式を使ってリストをフィルタリング
・型変数推論機能
・高階関数を使用できる
・拡張関数
・ミックスイン など
Kotlinでは関数をオブジェクトとして扱えます。関数をほかの値型オブジェクトと同じように関数の引数として渡したり、戻り値として受け取ることが可能です。粒度の小さい単位で関数を再利用できるため、抽象的プログラミングが可能となり簡潔なコードにできます。
・バグ混入確率が減少
・可読性は増加
・メンテナンスコスト低減
・学習コストを抑えられる
・プログラマによるコーディングのばらつきを抑えられる など