Scala 3 Disappointment

むかいさんとかずよしが F# を触っているのを見て、天の邪鬼的にもうすぐリリースされるという Scala 3 をやってみたくなりを冷やかす。なおこの本よりは本家サイトのドキュメントの方が簡潔でよかった。

言語は、シンタックスも型システムもけっこう大胆にいじって Python 2 -> 3 どころではない大改造ぶり。資料を読む限りでは良い変更に思える。これならあと 10 年戦えるかも、という気にさせられる。

が、オンラインで Scala 3 の話題を探すと全く盛り上がっていない。Dotty とかいってプロジェクトが始まった頃はもうちょっと人々が話題にしていた気がするが、今となってはちょこちょこ新しい言語機能を紹介してる人がいるくらい。

そもそも Scala 自体の話題を見なくなった気がする。HN とかテック全体の話題を扱うフィルタを通すとまったく目につかない。たぶん Scala の Reddit なりなんなりを見ればそれなりに進展はあるのだろうが・・・。10 年くらい前に Twitter が Scala 使うぞ、Spark も Scala だ!とかいってた頃と比べるとまったく盛り上がっていない。


いま余暇でやろうとしているプロジェクトに HTTP のエントリポイントが欲しいので、勢い余って Scala で書いてみようかな・・・とフレームワークを探すと、全然新しいのがない。未だに Play とか言ってるのはどうなの・・・。全然 Microservices / Cloud / Serverless みたいな路線にキャッチアップしてない。いや Akka あるけどさ、Akka で Microservices をキャッチアップとみなすなら Erlang でもいいわけで、そうじゃないでしょ・・・。Docker とかにサクっと詰めて Cloud Run でポイと動かせてもらえないと困る。同路線に出遅れがちと見なされている Java の方が Spring Boot なり Micronaut なりがあって、ずっとマシ。

とか思っていたら久々に HN に Scala の話題: From First Principles: Why Scala? | Hacker News しかしコメント欄のネガティブさたるや・・・。しかも割とわかるわーという話が多い。そしてここで議論されている Scala のダメさを Scala 3 がなんとかしてくれる気はまったくしない。更にこの記事自体も Swift, Kotlin, Rust, TS とかの最近の "Hybrid Language" に対して Scala がどういいのかをまったく説得できていない。もう C# とか JS とか Python とか Ruby を引き合いに出してなんか語る時代じゃねーだろ。ついでに Scala 3 の話も全然ない。

記事を書いている Haoyi という人は Scala 界隈では一定程度有名人らしく、色々と気の利いたライブラリとかを作っている。それらは良さそうだが、ちょっと冷やかした範囲では言語を立て直せるような勢いは感じない。R における Hadley Wickham や Ruby の DHH ほどの影響力はなさそうというか・・・。

これはしょうじき高すぎるバーだと思うが, Scala はそういう言語より上のレイヤの革命のがないと返り咲きはなさそうだな、と思ってしまった。Scala 3, 良い言語っぽいのに残念。


そういう実用性はさておくなら、FP Playground としての Scala にはそれなりの存在感を感じる。引き続き色々と FP なライブラリが書かれている。こういうのを通じて教養としての Modern FP を勉強する言語としての Scala というのはアリかな、と思う。Haskell やるみたいなかんじで。メイン言語に据える気にはまったくなれないにしろ、Haskell よりはまだ馴染みがあるし、実用もしやすそうだからね。

といいつつそうしたモダン FP ライブラリたちが Scala 3 に移行してくれるには時間がかかりそう。Scala でモダン FP 入門は、するとしても来年以降かなあ。言語仕様とかライブラリの進捗を暇なときに冷やかしつつ気長に待ちたい。