最近、Android 界隈でKotlin という言語が流行ってるらしい。というくらいには老害になってきたのであるが、とにかくkotlin を始める。
Android で正式に採用されたらしい。という情報だけだったら多分さわりもしなかったんだけど、どうやらこいつは、JVM 上で動くだけでなく、js, native コードにコンパイルしてくれるらしい。それ凄くない???
開発元はJetBrains. Intelli J Idea とか作ってるすごい所。 ということで、今回はkotlin はIntelliJ Idea で触ることにした。
多分すごい爆速でコード書けそうめう。
公式 : https://kotlinlang.org/ OSS : https://github.com/JetBrains/kotlin
kotlin はネイティブコードを生成できる(らしい)が、kotlinを動作させるには、JVM環境が必要。最新版は 1.2 @ 2017/12/20時点
じゃぁ、取り急ぎハローワールドから。 jvm で実行する、js で実行する、ネイティブで実行する、 の3つを実装する。(多分コードは変わらないと思うけど)
kotlin ファイルの拡張子は、kt。小室哲哉かよって思った私はもう老害。飛行機の速度かよって思ったやつはメーデー民
fun main(args: Array<String>) { println("Hello Kotolin!!") }
func でもfunction でもなく、fun なのか。これはちょっと嫌だなー。と正直に思った。func か、せめてfn にしてほしい感ある。 そんな事はどうでもよく。
ここで、まず見るべきは、クラス定義がない。これは一体何クラスに属するメソッドなんだ??
kotlin が吐いた生成物を見ると、Appkt.class(App.kt という名前で生成した)になっていた。なるほど。
kotlin native を使う
参考:https://github.com/JetBrains/kotlin-native
書いてあるとおりにする。
最終的には、こんな感じのコマンドを叩いて、CとかGo みたいな実行可能ファイルが生成される。 kotlinc hello.kt -o hello -opt
うーーん、kotlin でネイティブかけるのはすごい。 私個人はネイティブ原理主義者なので、ネイティブに変換できるだけで株は大上がりですね…。