脇道活動 - Scripting

Python じゃなく、静的型でかつ大仰じゃない言語ないかな karino2 が F# 使ってるような感じで・・・。

Kotlin Scripting

"kotlin" というコマンドがついてきて、それを使える。ただ依存とかはそんなに便利でもない。仕方ない気もするが・・・。がんばれば Graal とかでバイナリを作れるかもしれない、のはいい気もする。

ただスクリプティング、全然やる気を感じないねえ。おとなしく Gradle 使えということなのだろうな。

Deno

いい機会だから TypeScript でもやりたいな、でも Node で TSC とか日々のやっつけ仕事にはめんどくせーな・・・と眺める。

が、ライブラリが全然ないね。たとえば GCP とか使えないじゃん。Node 資産のない JS, Enthusiast にはともかく自分のような外野がちょろっと使える段階ではなかった。Coding quiz とか解くにはいいかもしれないけど。

Node + TSC

package.json や npm がいるので厳密にはスクリプトではないが、割と ergonomics が洗練されてるので敷居は低い気がする。npm install とかすれば一応コマンドをインストールできるし、おとなしくこれに慣れるのが良いのでは。

ライブラリはいちおうなんでもあるし、VS Code が圧倒的にちゃんと動く言語であるという事実は無視できない。

Scala Script

Kotlin Scripting よりは高機能っぽいが・・・・。そもそも Scala を真面目に覚える気がないのだった。

Python + (mypy, pyre, pytype)

慣れという意味では Python が一番良いのはわかってんだけど・・・。この愛せなさよ。Python とか Jupyter/Colab の外では一行も書きたくない。というのは大げさだけど、なんか全然楽しくないよね statically-typed python. とにかくダサい。型に助けられるより型を助けてあげる感じ。

そして type checker 間での互換性がよくわからない。プロジェクト構成の定番もよくわからん。現代の Python のグチャグチャさは 10-20 年前の Perl のグチャグチャさに通じるものがある。Perl よく知らないので不当にディスってるかもだけど。


こうして総合的にみると Node+TSC だな。D3 やったら触ってみよう、と心の積読へ。

Node 以前は Python が versatility という点で最強であった。つまりダサさに目をつぶればライブラリとかはだいたいあった。今でも Python でしかできないことはそこそこある(ML とか)が、一方で JS にしかできないこと(ウェブまわり)も多く、総合的な versatility という点で Node は Python と互角かそれ以上という感じがするねえ。

Kotlin はアプリ書くにはいいしマイクロサービシズ方面でも便利なのかもしれないけど、Node や Python のような何でもある感は (Java を含めてすら)ない、気がする。メジャー度がちょっとだけ低いよな。