概要
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 をターゲット