「Kotlin」の版間の差分
編集の要約なし |
|||
9行目: | 9行目: | ||
| dialects = Gradle Kotlin DSL |
| dialects = Gradle Kotlin DSL |
||
| typing = [[静的型付け]] |
| typing = [[静的型付け]] |
||
| operating system = [[Javaプラットフォーム]]([[Android]]含む), [[JavaScript]]実行環境, [[FreeBSD]], [[Linux]], [[macOS]], [[Microsoft Windows|Windows]], [[iOS]] |
| operating system = [[Javaプラットフォーム]]([[Android (オペレーティングシステム)|Android]]含む), [[JavaScript]]実行環境, [[FreeBSD]], [[Linux]], [[macOS]], [[Microsoft Windows|Windows]], [[iOS]] |
||
| website = {{ConditionalURL}} |
| website = {{ConditionalURL}} |
||
}} |
}} |
||
29行目: | 29行目: | ||
[[アプリケーションプログラミングインタフェース]]<ref>[http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/index.html {{lang|cs|Kotlin}} アプリケーションインタフェース]{{En icon}}</ref>が公開され、ウェブサイト上でのデモンストレーション<ref>[https://play.kotlinlang.org/ Kotlin Webデモ]{{En icon}}</ref><ref>{{Cite web |url=http://news.mynavi.jp/news/2012/02/16/017/index.html |title={{lang|en|JetBrains}}の新言語「{{lang|fi|Kotlin}}」を {{lang|en|Web}} ブラウザで試してみよう! |accessdate=2018-06-08}}</ref> のほか、[[スタンドアローン]]な[[コンパイラ]]の形と同社提供の[[統合開発環境]]「{{lang|en|[[IntelliJ IDEA]]}}」上の[[プラグイン]]の形で、[[マイルストーン]]安定版「M1」が2012年4月12日より提供<ref>[http://blog.jetbrains.com/kotlin/ プロジェクト {{lang|cs|Kotlin}} のブログ]{{En icon}}</ref>された。 |
[[アプリケーションプログラミングインタフェース]]<ref>[http://jetbrains.github.com/kotlin/versions/snapshot/apidocs/index.html {{lang|cs|Kotlin}} アプリケーションインタフェース]{{En icon}}</ref>が公開され、ウェブサイト上でのデモンストレーション<ref>[https://play.kotlinlang.org/ Kotlin Webデモ]{{En icon}}</ref><ref>{{Cite web |url=http://news.mynavi.jp/news/2012/02/16/017/index.html |title={{lang|en|JetBrains}}の新言語「{{lang|fi|Kotlin}}」を {{lang|en|Web}} ブラウザで試してみよう! |accessdate=2018-06-08}}</ref> のほか、[[スタンドアローン]]な[[コンパイラ]]の形と同社提供の[[統合開発環境]]「{{lang|en|[[IntelliJ IDEA]]}}」上の[[プラグイン]]の形で、[[マイルストーン]]安定版「M1」が2012年4月12日より提供<ref>[http://blog.jetbrains.com/kotlin/ プロジェクト {{lang|cs|Kotlin}} のブログ]{{En icon}}</ref>された。 |
||
「M2」では言語機能が強化されたほか、{{lang|en|[[Android]]}} 上の開発および動作も可能となり、{{lang|en|[[JavaScript]]}} へのコンパイルもサポートされた。「M3」では約400件の障害修正を行ない、性能向上、型引数推論の強化などを行った。「M4」で128件の障害修正を行ない、型引数推論の高速化、JDK 7 対応、データクラスの <code>copy</code> メソッド新設などを行った。 |
「M2」では言語機能が強化されたほか、{{lang|en|[[Android (オペレーティングシステム)|Android]]}} 上の開発および動作も可能となり、{{lang|en|[[JavaScript]]}} へのコンパイルもサポートされた。「M3」では約400件の障害修正を行ない、性能向上、型引数推論の強化などを行った。「M4」で128件の障害修正を行ない、型引数推論の高速化、JDK 7 対応、データクラスの <code>copy</code> メソッド新設などを行った。 |
||
2018年10月29日にリリースされたKotlin 1.3の一部として、Kotlinのコードよりネイティブバイナリを生成する「Kotlin/Native」のベータ版がバンドルされた<ref>{{Cite web |url=https://blog.jetbrains.com/kotlin/2018/10/kotlin-1-3/ |title=Kotlin 1.3 Released with Coroutines, Kotlin/Native Beta, and more |author=Roman Belov|date=2018-10-29|accessdate=2018-10-31}}</ref>。 |
2018年10月29日にリリースされたKotlin 1.3の一部として、Kotlinのコードよりネイティブバイナリを生成する「Kotlin/Native」のベータ版がバンドルされた<ref>{{Cite web |url=https://blog.jetbrains.com/kotlin/2018/10/kotlin-1-3/ |title=Kotlin 1.3 Released with Coroutines, Kotlin/Native Beta, and more |author=Roman Belov|date=2018-10-29|accessdate=2018-10-31}}</ref>。 |
||
59行目: | 59行目: | ||
==統合開発環境== |
==統合開発環境== |
||
同社提供の統合開発環境 [[IntelliJ IDEA]] で利用できる。{{lang|en|[[Eclipse (統合開発環境)|Eclipse]]}}と[[NetBeans]]でもKotlinプラグインを提供している。[[Android Studio]]でもKotlinによる[[Android]]アプリケーション開発を標準でサポートしている(3.0以降)。 |
同社提供の統合開発環境 [[IntelliJ IDEA]] で利用できる。{{lang|en|[[Eclipse (統合開発環境)|Eclipse]]}}と[[NetBeans]]でもKotlinプラグインを提供している。[[Android Studio]]でもKotlinによる[[Android (オペレーティングシステム)|Android]]アプリケーション開発を標準でサポートしている(3.0以降)。 |
||
また、同社提供のC/C++向け統合開発環境 [[CLion]] はKotlin/Nativeをサポートしている。 |
また、同社提供のC/C++向け統合開発環境 [[CLion]] はKotlin/Nativeをサポートしている。 |
2020年9月6日 (日) 07:25時点における版
Kotlinのロゴ | |
パラダイム | ジェネリックプログラミング、リフレクション、並行計算、オブジェクト指向プログラミング、関数型プログラミング、命令型プログラミング、構造化プログラミング、宣言型プログラミング |
---|---|
登場時期 | 2011年 |
設計者 | アンドリー・ブレスラフ、ドミトリー・ジェメロフ |
開発者 | ジェットブレインズ |
最新リリース | 1.4.0/ 2020年8月14日[1] |
型付け | 静的型付け |
方言 | Gradle Kotlin DSL |
影響を受けた言語 | Groovy、C Sharp、Gosu、Java、Ruby、JavaScript、Scala、Python、ML |
プラットフォーム | Javaプラットフォーム(Android含む), JavaScript実行環境, FreeBSD, Linux, macOS, Windows, iOS |
ライセンス | Apache-2.0 |
ウェブサイト |
kotlinlang |
拡張子 | kt、kts |
Kotlin(コトリン)は、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、静的型付けのオブジェクト指向プログラミング言語である。
開発経緯
Kotlin言語は、ロシア連邦レニングラード州都のサンクトペテルブルクにある、ジェットブレインズ社の研究所で生まれた。
ジェットブレインズ社は Java、Ruby、Python などのプログラミング言語による開発環境などを開発して販売してきた。Kotlin言語は、同社の経験を活かしJava言語をもっと簡潔・安全になるように改良した産業利用向け汎用言語として開発され、2011年7月20日に発表された。
Java仮想マシン上で動作するため、Java言語で書かれたプログラムと同程度に速くコンパイルされ同程度に速く動作するとしている。
Java言語に望まれている機能であっても互換性を保つために実現できていない機能や、将来のJava言語の仕様で実現が予定されている機能から、有用と思われる機能を採用した。また、Java仮想マシンで動く点で似ているスクリプト言語 Groovy や関数型プログラミング言語の要素が強い Scala から、機能や簡易記法(糖衣構文)を採用した。そのほか、ジェネリクスの構文などでC#の影響を受けている部分もある[2]。
2012年2月14日、Kotlin はApacheライセンス バージョン2.0に基づいてオープンソース化された[3][4]。
アプリケーションプログラミングインタフェース[5]が公開され、ウェブサイト上でのデモンストレーション[6][7] のほか、スタンドアローンなコンパイラの形と同社提供の統合開発環境「IntelliJ IDEA」上のプラグインの形で、マイルストーン安定版「M1」が2012年4月12日より提供[8]された。
「M2」では言語機能が強化されたほか、Android 上の開発および動作も可能となり、JavaScript へのコンパイルもサポートされた。「M3」では約400件の障害修正を行ない、性能向上、型引数推論の強化などを行った。「M4」で128件の障害修正を行ない、型引数推論の高速化、JDK 7 対応、データクラスの copy
メソッド新設などを行った。
2018年10月29日にリリースされたKotlin 1.3の一部として、Kotlinのコードよりネイティブバイナリを生成する「Kotlin/Native」のベータ版がバンドルされた[9]。
名称
コトリン島にちなんで命名された。コトリンは、開発の地サンクトペテルブルクに近いバルト海フィンランド湾にあり、全長約12kmの細長い島である。
もともと Kotlin というのはやかんを表すフィンランド語であり、Kotlin 言語のロゴマークもやかんである。
公式サイトには[10]「この島から名前が付いたコトリン型駆逐艦というのがありますが、Kotlin 言語は別にクラスを駆逐しようというわけではありません」や、Java の由来がコーヒーであることにかけて「この島ではコーヒーなどの外来植物はあまり作っていないと思います」というジョークが掲載されている。
特徴
Java 言語よりも簡潔に書けることを目指している。
特徴的な機能は以下のとおり[11]。
- 静的なNull安全の保証
- 演算子オーバーロード
- 高階関数(クロージャ)
- ミックスインと第一級デリゲーション
- プロパティ(フィールドはない)
- ジェネリクス宣言側における変性指定 (declaration-site variance) と型投影 (type projection)
- 拡張関数
- モジュールとビルド基盤
- インライン関数(オーバーヘッドなしクロージャ)
- パターンマッチング
- Java との相互運用性(Kotlin から Java を呼び出すことも、Java から Kotlin を呼び出すこともできる)
構文規則的な特徴はScalaに近く、文の末尾にセミコロンが不要であり、また「変数名 : 型名」の順序で変数を宣言する。型推論を様々な場面でサポートする。
統合開発環境
同社提供の統合開発環境 IntelliJ IDEA で利用できる。EclipseとNetBeansでもKotlinプラグインを提供している。Android StudioでもKotlinによるAndroidアプリケーション開発を標準でサポートしている(3.0以降)。
また、同社提供のC/C++向け統合開発環境 CLion はKotlin/Nativeをサポートしている。
関連項目
脚注
- ^ “Releases · JetBrains/kotlin · GitHub”. Kotlin Foundation. 2020年8月18日閲覧。
- ^ Generics: in, out, where - Kotlin Programming Language
- ^ Language of the Month: Kotlin - Dr. Dobb's Journal (2012年2月14日)
- ^ “Java言語「Kotlin」、オープソース化”. 2018年6月8日閲覧。
- ^ Kotlin アプリケーションインタフェース
- ^ Kotlin Webデモ
- ^ “JetBrainsの新言語「Kotlin」を Web ブラウザで試してみよう!”. 2018年6月8日閲覧。
- ^ プロジェクト Kotlin のブログ
- ^ Roman Belov (2018年10月29日). “Kotlin 1.3 Released with Coroutines, Kotlin/Native Beta, and more”. 2018年10月31日閲覧。
- ^ Kotlin公式サイト
- ^ The Kotlin Programming Language