最近アプリのロジックを書くときに class で書くのか composable っぽく書くのかで悩むことが多い。どちらにもメリット・デメリットがあるから悩むのだが、ふと、両方のメリットだけを持った文法を持つ言語があればいいなと思った。
class で書くメリット
フィールドやメソッドを定義するだけで良い(最後にまとめて return する必要がない)
private か public か、定義を見ればわかる
composable 風に書くメリット
複数のモジュールを結合するときに spread operator で簡単にできる
constructor に渡した入力値がそのまま lexical scope で使用可能(フィールドにいちいち代入する必要がない)
this の値を考える必要がない
このあたりを考えると、class 構文をベースにしつつ、ランタイムは composable のように動くものがいいのかもしれない。少し書いてみた。
書いてみて思ったが、Kotlin とか Swift っぽい感じがする。やっぱり行き着く先は同じということなのかもしれない。