Kotlin Discussions 「Is Java catching up with Kotlin?」を読んだ感想

この記事は、Kotlin DiscussionsのLanguage Designであがっている、Is Java catching up with Kotlin? を読んだ感想になります。

この記事についてブログに書く目的

Androidエンジニアが、Kotlinに対して(あとJetBrainsに対して)、どのようなことを思ってどのようなことを期待しているのかが、なんとなく知れるからです。現職では、正社員のAndroidエンジニアがいないので、僕は、世間のAndroidエンジニアがどのようなことを思って開発しているのか知りません。

Kotlin Discussions の「Is Java catching up with Kotlin?」を読んで、きちんとKotlinを追えてない身として、興味深い内容がいくつかあったので、感想をまとめて書いていこうと思います✍️
あくまで、個人の意見なので、まずはDiscussion側を読んでいただくといいと思います🙏

JavaがKotlinに追いつく事は厳しそう

Disucussion内でいろいろ意見があるので、あくまで僕の意見です。
前職でSIerだった時に、Javaの1.6〜Java8まで触ってました。Java8へのアップデートでLambdaが導入され、コーディング規約にLambdaの利用禁止と書かれていたことを思い出します。(拡張for文も、三項演算子も利用禁止だった😠)
Breaking Changeをするには、Javaはあまりにも大きく、あまりにもたくさんの人が利用していると思います。レガシーなコードに引きづられての開発は、それだけ開発速度を落とし、メンテナンス工数を増やすのは自明です。

Java won’t ever “catch up” with Kotlin for a simple reason: legacy. Java needs to guarantee that (most of) valid Java 5 and previous code still is valid code for Java 14 and future. This imposes several limits on how the language can be improved.

という意見がありましたが、おそらく、JavaをBreaking Changeしてでも変更したい勢は、Kotlin側に流れてるのではないかなと思ってます😀

最近のKotlinの開発方針はネイティブやマルチプラットフォーム寄り?

I understand that there is lots of progress under the hood in improving and fixing underlying systems. Also I understand the importance of native and multiplatform, but they are quite niche currently.

KotlinのissueやPRをきちんと追えてないので、これはDiscussionを読んだだけの感想になります。(今後のブログでPRも追っていきたいですね)
KotlinがAndroidアプリ以外にも活用されている事例は、国内でもいくつかありますし、AndroidアプリをFlutterなどのマルチプラットフォームで開発できる技術を駆使する事例も徐々に増えてきました。(余談ですが、僕もサーバーサイドをRubyで書いてますが、Kotlinで書けたらいいなあと思う時があります)

ただ、逆を返せば、KotlinのAndroidアプリ開発に必要な機能は、Discussionで話題に上がってるパターンマッチングなどの一部の機能を除くと、だいたい終了しているのかもしれません。これからAndroidアプリ開発を勉強していく身としては、ありがたい部分もあります。

JetBrainsに対しても、色々な意見が飛び交ってますね。ここでは割愛します😇

Kotlinの最新情報を追いたいなら、Kotlin/KEEPを読もう

Discussionにも、KEEPというKotlin配下のプロジェクトへのリンクが貼られてますね。Kotlinでは、KEEPにproposalを出して、言語仕様をディスカッションできるみたいですね。

2019年に作られたissueは、現時点(2019年12月28日14時)で14個、うち、closeにいたったのは5個ですね。
2019年に作られたPRは、現時点で13個、mergeは3個、closeは4個。
proposalからmergeに至るのはなかなか大変そうですね😅

僕としては、なんでこのような機能になったのかを追っていくのが好きなので、面白そうなものがあったら、ブログにも書いていこうと思ってます😃

まとめ

ということで、Kotlin Discussionsの、「Is Java catching up with Kotlin?」の感想でした。こういったDiscussionは、タイトルの内容以外にも、色々と面白い内容が投稿されてるので、タイトルだけ見てそっ閉じするのではなく、ざーっと眺めてみると、面白い発見があるのがいいですね。

今後も、Kotlin Discussionsで面白かった内容は、ブログに書いていこうと思います。

この記事が気に入ったらサポートをしてみませんか?