Kotlinを2ヶ月くらい書いてみて思ったこと

実際にはまだ1週間くらい足りないけど、そろそろ仕事でも実装したいと思ったコードをそこそこ書けるようになってきたし、
初学者の気持ちを忘れないうちに書いておこうと思う。


まずKotlinを始める前に勉強会やら周囲から聞いていた声が

  • Javaのうっとおしさから解放された!
  • 書いていて楽しい!
  • Kotlin最高!

と言うものだった。


根が素直なわたくし、それはもう期待してたんすよ。
で、実際やってみてもちろん納得した部分もあるし、納得しかねるところもあったんすよ。
確かに同じようなコードを何度も何度も書く手間は確かにめちゃくちゃ減った。間違いない。
でもそれで読みやすいコードかどうかと言われると、それは何とも言い難い。
もちろん慣れれば読めるけど、学習コストはむしろ高いのでは?と想うケースも多分にある。
特にnullableと非nullableのものが最初全然わからなかった。
メソッドに引数渡そうとしたら「それnullableやからあかんで」ってエラーで怒られるし、
!!つけたらコードレビューで「!!使うなし」って怒られるし、怒られてばっかりやった。
nullableなクラスのnulableなプロパティ参照しようとしたときとか
hoge?.fuga?.piyoってなったりしてこっちの頭の中が???ってなったりもした。
こう書いとけばhogeかfugaがnullでも落ちひんって言うのはありがてぇけど、開発中はむしろ落ちて欲しかったりもする。しない?
落ちずにしれっと動かれたりすると見落としたりするじゃない?
オレは自分のことを信用してないからコンピュータさんの方でアラート上げて教えてくれないと困るんすよ。。


あと色々あった気がするけどよく考えたら単純にRxがわからなかっただけなのでちょっと省略(未だわかってない。オレは雰囲気でRxのコードを書いている)
databindingとかもよくわかってない。よしなにやってくれるのは良いけどエラー出た時どこ見ていいかわからんのはつらい。。


まぁその辺問題ない人にとっては確かに良い言語だとは思う。モダンな言語触っててRxとか理解してる人とか。
最後にこの前勉強会でKotlinエヴァンジェリストのたろう先生が言ってた金言(うろ覚えな上要約)を紹介しておきたい。
「Kotlin書き始めた人はKotlinらしいコードを書きたがるけど、絶対あとから読みづらくなるから程々にしましょう」