公式Clojureドキュメンタリーページ - 動画、ショーノート、リンク付き
17時間前原文(clojure.org)
概要
ClojureやLispに関する主要な用語とその定義を簡潔に解説。
プログラミングスタイルやデータ構造、開発ツールについて説明。
Clojure特有の概念や利点に着目。
用語ごとに短く分かりやすく要点を整理。
初心者にも理解しやすい構成。
ClojureとLisp関連用語解説
-
Lisp
- プログラミング言語ファミリー
- コードを入れ子のリスト(括弧で囲む)で表現
- ClojureはLispの方言
-
REPL (Read-Eval-Print Loop)
- 式を読み取り・評価・結果出力を繰り返す対話型セッション
- Clojure開発者がプログラム構築・テストに活用
-
関数型プログラミング
- 関数中心のプログラミングスタイル
- 受け取った値を返し、可変状態や副作用を最小化
-
値 (Value)
- 作成後に変化しないデータ(数値・文字列・永続コレクションなど)
- Clojureは値がデフォルト、必要な場合のみ明示的に可変状態を選択
-
永続データ構造 (Persistent data structure)
- 変更時に前バージョンを保持するコレクション
- 要素追加で新しいコレクションを返し、元は不変
- 「永続」はバージョン保持の意味(ディスク保存ではない)
-
偶発的複雑性 (Accidental complexity)
- ツールや設計選択によるソフトウェアの難しさ
- 問題自体の本質的複雑性(essential/incidental complexity)と対比
-
STM (Software Transactional Memory)
- トランザクションで共有状態変更を調整する並行処理モデル
- ロックの代わりにトランザクションを利用
-
ホステッド言語 (Hosted language)
- 既存プラットフォーム上で動作する言語
- ClojureはJVM上、ClojureScriptはJavaScriptにコンパイル、ClojureCLRは**.NET CLR**をターゲット