【クロージャー】
Clojure(クロージャー) とは?
💡 変わらないデータが、並行処理を変える
📌 このページのポイント
ClojureってLispの仲間なの?括弧だらけで読みにくそう…
たしかに括弧は多いけど、慣れると括弧のおかげでコードの構造が明確になるんだ。エディタのサポートも充実していて、括弧の対応を自動で管理してくれるから、実際にはそこまで困らないよ
イミュータブルってなんで大事なの?
でもデータが変わらないと、更新はどうするの?
元のデータはそのままで、変更部分だけが違う新しいデータを作るんだ。「永続データ構造」という仕組みで、内部的にはデータを共有しているから、毎回全コピーするわけじゃなくて効率的だよ
JVM上で動くメリットって何?
REPL駆動開発って普通のREPLと違うの?
まとめ:ざっくりこれだけ覚えればOK!
「Clojure」って出てきたら「JVM上で動く、データが変わらない関数型言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Clojure」 = closure(クロージャ)+ Java のJをもじった造語
💬 プログラミングの「クロージャ」とJavaの「J」を組み合わせた造語だよ。C・L・J(CLJ)の3文字にはC#・Lisp・Javaへのリスペクトも込められているんだ