知脈

抽象化

abstraction手続き的抽象化

CONCEPT → BOOK

この概念を本でたどる

『計算機プログラムの構造と解釈 第2版』で「抽象化」を読む

Harold Abelson / Gerald Jay Sussman / Julie Sussman(和田英一訳)

手続き的抽象化・データ抽象化によって複雑さを管理するプログラミングの本質

この本とのつながりを見る

報告書の書き方と、記憶を失う数学者の小説が、同じ棚に並ぶ。二冊をつなぐのは「難しいことを一般化する」という意味ではない。いま扱わなくてよい細部を退け、必要な関係だけを前へ出す、抽象化という選択だ。

隠すから、考えられる

すべての詳細を同時に見ようとすると、複雑なものは扱えない。抽象化は、目的に必要な操作や関係を残し、それを支える実装をいったん背景へ送る。

大切なのは、単に情報を減らすことではない。何を前面に出し、どこへ戻れば細部を確かめられるかを決めることだ。よい抽象化には、隠す境界と、必要なときに下層へ戻れる道の両方がある。

SICP——名前を与えて一単位として扱う

『計算機プログラムの構造と解釈』は、強力なプログラミング言語が持つ仕組みを、基本要素、組み合わせ、抽象化の三つとして導入する。複数の操作に名前を与え、一つの手続きとして扱えるようにすれば、その内側を毎回たどらずに次の問題へ進める。

データ抽象化では、使い方と内部表現の間に障壁を置く。たとえば有理数を扱う側は、分子と分母をどのようなデータ構造で持つかを知らなくてよい。公開された操作だけに依存していれば、内部表現が変わっても上のプログラムは保てる。

SICPの抽象化は、複雑さを消す魔法ではない。複雑さを境界の向こうへ移し、どの層が何に責任を持つかを決める設計である。

ミント——散らばった情報を一つの主張へ畳む

バーバラ・ミントの『考える技術・書く技術』は、文章を書く前の思考をピラミッド構造へ変える。公式目次には、論理の順序に従うこと、グループ内の考えを要約すること、問題分析を構造化することが並ぶ。

会議記録や調査結果を、そのままの順番で積み上げても読み手には届かない。似た考えをまとめ、グループを代表する上位メッセージを置き、下位に根拠を残す。細部を捨てるのではなく、必要なときに根拠へ降りられる形で、伝える核を前へ出す。

ここでは抽象化が、文章の短縮ではなく階層の設計として働く。どの事実を同じ箱へ入れるか。その箱にどんな名前を付けるか。その判断が、書く技術より先にある。

小川洋子——記憶が消えても、関係は残る

小川洋子の『博士の愛した数式』は、抽象化を解説する本ではない。事故の後、記憶が80分しか続かない博士と、家政婦、その息子の日々を描く小説だ。

博士の腕時計の裏に刻まれた284と、家政婦の誕生日(2月20日)を表す220は、友愛数として結ばれる。江夏豊の背番号28は完全数として語られる。博士が相手の来歴を覚えておけなくても、数字の関係がその場に会話を作る。

この小説を抽象化の棚に置くのは、博士の記憶を技術の比喩にするためではない。誕生日や背番号という具体から数の性質を取り出したとき、昨日を共有できない人物どうしにも、関係の形がひらかれるからだ。実務書が情報を上位メッセージへ畳むのに対し、小説は具体的な数字から、人が結ばれる形を浮かび上がらせる。

三冊を、残すものの違いで読む

最初にミントを読むと、抽象化は「伝える核を決める」実務として見える。次にSICPへ進むと、同じ操作が、変更に耐えるシステムの境界になる。最後に『博士の愛した数式』を読むと、抽象化は説明の技法を離れ、具体の奥にある関係を見つける文学的な視線へ変わる。

三冊に共通するのは、細部を粗末にすることではない。細部をどこへ置けば、いま必要な構造が見えるかを決めることだ。抽象化とは、忘れることではなく、何を忘れずに残すかを選ぶ仕事である。

参考にした資料

MIT Press “1984: Structure and Interpretation of Computer Programs”

SICP 1.1 “The Elements of Programming”

SICP 2.1 “Introduction to Data Abstraction”

ダイヤモンド社『[新版]考える技術・書く技術』

新潮社『博士の愛した数式』

概念ネットワーク

左右にスワイプして全体を見られます。 線の太さは共通する本の数を表しています。ノードをクリックすると概念ページに移動します。

この概念を扱う本(10冊)

📚
計算機プログラムの構造と解釈 第2版

Harold Abelson / Gerald Jay Sussman / Julie Sussman(和田英一訳)

95%

手続き的抽象化・データ抽象化によって複雑さを管理するプログラミングの本質

📚
暗黙知の次元

マイケル・ポランニー

85%

形式知(explicit knowledge)への抽象化は暗黙知の一側面に過ぎない

考える技術・書く技術――問題解決力を伸ばすピラミッド原則

複数の考えを論理順序でグループ化・要約し、下位の根拠を保ったまま上位メッセージへ畳むピラミッド構造を教える。文章を書く前の思考を階層へ変換する、実務上の抽象化。

風姿花伝
風姿花伝

世阿弥

70%

身体的抽象化—身体技法が概念以前に知識を担う

博士の愛した数式

本書は抽象化を術語として論じない。80分で途切れる記憶のなか、家政婦の誕生日(2月20日)を表す220と博士の腕時計裏の284の友愛数、江夏豊の背番号28の完全数が、人物の来歴を越えて関係を結ぶ媒体になる。具体的な数字から関係の形を取り出す文学的な接続。

ゲーデル、エッシャー、バッハ――あるいは不思議の環

音楽・美術・数学という異なる領域に共通する自己言及の構造を抽象化して探求し、異なるシステム間の同型性を示している

一般言語学講義
一般言語学講義

フェルディナン・ド・ソシュール

45%

ソシュールの記号論はシニフィアン(音像)とシニフィエ(概念)という抽象的二項対立で言語を分析し、差異の体系として言語を抽象化した

チューリングの大聖堂
チューリングの大聖堂

ジョージ・ダイソン

45%

チューリングマシンは計算を極度に抽象化した概念装置であり、物理的な機械から抽象的な計算の形式化への過程がこの本の中心にある

思考の整理学
思考の整理学

外山滋比古

40%

外山の「思考の整理」は情報を発酵・熟成させることで本質を上位概念に昇華させるプロセスであり、抽象化によって知的産物が生まれるという思考論

数学ガール
40%

数学の抽象的な構造——群論・フェルマー・オイラーの等式——を対話形式で発見していく過程が核心。具体的問題から抽象的本質へと読者を誘う