ex-mixi Advent Calendar 2017 に参加して、Kotlin のコレクションと Mapped Types について書いた。Kotlin が喧伝する Java との相互運用性 (interoperability) って実際のところなんなのか? 別に Scala と変わらないじゃないのか? という問いに対して、このコレクションまわりの設計をあげるのは、まあまあ同意してもらえる答えなんじゃないかと思う。
私は一時期 Scala に肩入れしていたので、Android におけるベター Java の位置が Kotlin に取られてしまいそうなのは残念だ。一方で、ランタイムサイズを考えると妥当な選択肢だとも思う。
サーバー側のベター Java の位置は
- Android で Google のお墨付きをえた Kotlin
- Dotty の開発もすすむ Scala
- 6ヶ月ごとのリリースになった Java
どれが来るのか、まだわからない。
そもそも誰もベター Java なんて必要としていなくて、Go が流行りだすというのもありえる、というか現実に起こりつつあるけど、個人的には map や fold ができるような言語にがんばってほしいです。
Source: posts/2017/kotlin.md