なぜ注目されているか
技書の森解説
Clojure は、Java の実行環境である JVM の上で動く Lisp 系の言語で、関数型プログラミングと並行処理の扱いやすさを特徴にしています。『プログラミング Clojure』第 2 版 (Stuart Halloway、Aaron Bedra 著、川合史朗 訳、オーム社、2013 年 4 月刊) は、Pragmatic Bookshelf の Programming Clojure, 2nd edition (2012 年) を翻訳した解説書で、版元の紹介では言語の基本部分から応用までを網羅的に解説する実践的な本とされています。版元が想定する読者はプログラマ全般で、特に Haskell や Erlang、Lisp などに興味がある人です。
シーケンスから Java 連携まで、Clojure を学ぶ 10 章の構成
1 章で Clojure を選ぶ理由と書き始め方を示し、2 章でフォーム、リーダマクロ、関数、var と名前空間、Java の呼び出し、フロー制御といった言語のひとめぐりをします。3 章は「すべてはシーケンスである」という考え方と遅延シーケンス、無限シーケンス、4 章は関数型プログラミングの概念と再帰、5 章は ref とソフトウェアトランザクショナルメモリ、アトム、エージェントによる状態の扱いで、章の終わりに Snake ゲームを作ります。6 章以降はプロトコルとデータ型、レコード、マクロ、マルチメソッド、例外処理や性能の最適化を含む Java との連携と続き、10 章で Clojurebreaker というゲームのスコア計算を題材に、テストからデプロイまでのアプリケーションづくりをまとめます。付録はエディタのサポートと参考資料です。
状態を持たないことで並行処理を易しくする言語
複数のスレッドが同じデータを書き換えるプログラムでは、ロックの取り忘れやかけ過ぎがそのまま不具合や性能低下につながり、並行プログラミング の難しさの大半はここにあります。Clojure は、値を書き換えずに新しい値を作る 不変のデータ を標準にし、それでも変わる必要がある状態だけを ref やアトム、エージェントといった決まった入れ物に閉じ込めるという設計を採っています。本書の 5 章が並行性、並列性、ロックの話から入り、ソフトウェアトランザクショナルメモリでの協調的な更新と、アトムによる単独の更新、エージェントによる非同期の更新を並べているのは、この使い分けの理解が Clojure を使いこなす要になるためと読めます。3 章と 4 章で扱うシーケンスと関数の組み合わせも、データを変えずに変換を重ねていく書き方の土台になっています。
Lisp の括弧に慣れていない人が読む前に
Lisp 系の言語は、コードそのものが括弧で囲んだリストというデータの形をしていて、7 章のマクロはこの性質を使ってコードを生成する仕組みです。オブジェクト指向の言語だけに慣れていると、最初は前置記法と括弧の多さに戸惑いますが、2 章が文法をひととおり見せてから進む構成なので、別の言語で一通りのプログラムを書いた経験があれば読み進められます。一方、プログラミング自体が初めての人や、JVM と Java のクラスの考え方に触れたことがない人には、9 章の Java 連携が負担になりやすい本です。なお、本書は 2013 年の刊行で、原著第 2 版の時点の Clojure と周辺のライブラリ、開発環境を前提にしています。10 章で扱うテストのライブラリや付録のエディタの環境は、使う前に各プロジェクトの公式の情報で確かめると安心です。
関数型の考え方を実務で使える言語で身に付けたい人や、Java の資産を活かしながら並行処理を安全に書く方法を探している人にとって、言語の基本から状態の扱い、マクロ、Java 連携までを 1 冊で順に追える本書は、Clojure の設計の考え方をまとめて理解するための堅実な選択肢です。
言及した記事 (5 件)
この本に興味がある方におすすめ
関連する本
関連記事
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
JavaScript / TypeScript 本ガイド - 入門から型で守る実務コードまで
JavaScript と TypeScript を 1 本の学習ルートとして捉えた技術書の選び方。JavaScript の入門書、言語の背骨を通す体系書、TypeScript の型システムを設計の武器にする本、React/Next.js の実践書まで 2026 年 8 月時点の定番で案内します。
ゲームが好きならプログラミングの本も読める
ゲームの攻略本を読んだことがあるなら、プログラミングの本も読めます。攻略本とプログラミング本の共通点から、読書のハードルを下げます。