トップQs
タイムライン
チャット
視点

Kotlin

プログラミング言語 ウィキペディアから

Kotlin
Remove ads

Kotlin(コトリン)は、ジェットブレインズのアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、静的型付けオブジェクト指向プログラミング言語である。

概要 パラダイム, 登場時期 ...

カテゴリ / テンプレート

Remove ads

開発経緯

Kotlinは、ロシアサンクトペテルブルクにある、ジェットブレインズの研究所で生まれた。

ジェットブレインズ社は JavaRubyPython などのプログラミング言語による開発環境などを開発して販売してきた。Kotlinは、同社の経験を活かしJavaをもっと簡潔・安全になるように改良した産業利用向け汎用言語として開発され、2011年7月20日に発表された。

Java仮想マシン上で動作するため、Javaで書かれたプログラムと同程度に速くコンパイルされ同程度に速く動作するとしている。

Javaに望まれている機能であっても互換性を保つために実現できていない機能や、将来のJavaの仕様で実現が予定されている機能から、有用と思われる機能を採用した。また、Java仮想マシンで動く点で似ているスクリプト言語 Groovy関数型プログラミング言語の要素が強い Scala から、機能や簡易記法(糖衣構文)を採用した。そのほか、ジェネリクスの構文などでC#の影響を受けている部分もある[2]

Remove ads

歴史

2012年2月14日KotlinApacheライセンス バージョン2.0に基づいてオープンソース化された[3][4]

アプリケーションプログラミングインタフェース[5]が公開され、ウェブサイト上でのデモンストレーション[6][7] のほか、スタンドアローンコンパイラの形と同社提供の統合開発環境であるIntelliJ IDEAプラグインとして、マイルストーン安定版「M1」が2012年4月12日より提供[8]された。

「M2」では言語機能が強化されたほか、Android 上の開発および動作も可能となり、JavaScript へのコンパイルもサポートされた[9]。「M3」では約400件の障害修正を行ない、性能向上、型引数推論の強化などを行った[10]。「M4」で128件の障害修正を行ない、型引数推論の高速化、JDK 7 対応、データクラスの copy メソッド新設などを行った[11]。「M6」では、Android Studioのプラグインによるサポートが追加された他、Mavenのサポート、言語の改善としてSAM(Single Abstract Method)変換のサポートやアノテーションの改善などを行った[12]

Kotlin 1.0は、2016年2月15日にリリースされた。これは最初の安定版リリースであり、JetBrainsは以降のバージョンで長期的に後方互換性を維持することを約束している[13]

2017年11月28日、Kotlin 1.2がリリースされた。JVMとJavaScriptプラットフォーム間でのコード共有機能がサポートされ、複数のコンポーネント(バックエンド、フロントエンド、Androidアプリケーション等)を同一コードから生成できるようになる[14]

2018年10月29日にリリースされたKotlin 1.3の一部として、Kotlinのコードよりネイティブバイナリを生成する「Kotlin/Native」のベータ版がバンドルされた[15]

2019年、GoogleはKotlinをAndroidアプリケーション開発の推奨言語に指定すると発表した[16]

2021年5月5日、Kotlin 1.5がリリースされた[17]

2021年11月、Kotlin 1.6がリリースされた。

2022年6月、Kotlin 1.7がリリースされ、新しいKotlin K2コンパイラのアルファバージョンが含まれている[18]

2024年5月、Kotlin 2.0がリリースされた[19]。K2コンパイラが安定版として正式導入され、全てのコンパイラバックエンドが多くのロジックを共有し、統一されたパイプラインを使用できるようになった。

Remove ads

名称

コトリン島にちなんで命名された[20]。コトリンは、開発の地サンクトペテルブルクに近いバルト海フィンランド湾にあり、全長約12kmの細長い島である。

公式サイトには[21][22]「この島から名前が付いたコトリン型駆逐艦(: Kotlin class destroyer)というのがありますが、Kotlin は別にクラスを駆逐しようというわけではありません」や、Java の由来がコーヒーであることにかけて「この島ではコーヒーなどの外来植物はあまり作っていないと思います」というジョークが掲載されている。

特徴

Java よりも簡潔に書けることを目指している。

特徴的な機能は以下のとおり[23]

構文規則的な特徴はScalaに近く、文の末尾にセミコロンが不要であり、また「変数名 : 型名」の順序で変数を宣言する。型推論を様々な場面でサポートする。

Remove ads

統合開発環境

同社提供の統合開発環境 IntelliJ IDEA で利用できる。EclipseNetBeansでもKotlinプラグインを提供している。Android StudioでもKotlinによるAndroidアプリケーション開発を標準でサポートしている(3.0以降)。

また、同社提供のC/C++向け統合開発環境 CLion はKotlin/Nativeをサポートしている。

関連項目

脚注

Loading content...

外部リンク

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads