My External Storage

Jun 28, 2021 - 6 minute read - Comments - review

[書評] 具体と抽象を読んで抽象化思考の整理と向上方法を学んだ。

「具体と抽象」を読んで、抽象化思考の整理と向上方法を学んだ。

所感

ソフトウェア設計でなくても日常で抽象化を行なうことは多い。例え話やアナロジーも抽象化活動の一端だ。 なんとなく行なっている抽象化について改めて整理することで抽象化を行なう中で何を意識すべきかわかった。 本のボリューム的にもそこまでの文量はなくさくっと読むことができた。

全体を通して抽象化について次の点が述べられている。

  • 複数のものを共通の特徴を以てグルーピングすることで、1つの事象における学びを他の場面への適用を可能にすること
  • 抽象化思考をより深化させていくためには?

普段抽象化を行なうときは「議題や設計に必要な特徴のみを考えるため」といった理由で行なうことが多い。 これは「物事をわかりやすく捉える」のが目的だが、本文を引用すると次のような印象となっているのは意外だった。

「具体=わかりやすい」「抽象=わかりにくい」というのが一般的に認知されているこれらの概念の印象

たしかに言われてみれば一般に詳細や具体例が述べられているほうが「わかりやすい」ということもありうる。なるほどなと思った。

良い面だけでなく、抽象的アプローチを使ったコミュニケーションが問題になる原因が言語化されているのもよかった。

  • 「抽象度のレベル」が合っていない状態で議論している(ことに両者が気づいていない)ために、かみ合わない議論が後を絶たないこと
    • 「どのレベルの話をしているのか」という視点が抜け落ちたままで進むため、永遠にかみ合わない
  • 人間は自分の理解レベルより上位の抽象度で語られると、突然不快になるという性質を持っていそうなこと

自分自身が「なんでそうなるんだ?わからん…」みたいな状態になることが多いので、自分が「自分の理解レベルを超えた抽象化の話を聞いている」だけの可能性があることを意識していきたい。

どんな本なのか

本著はソフトウェアエンジニアリングにおける「具象と抽象」ではなく広義というか一般的な意味での抽象化について記載されている書籍である。 本著の想定読者は次の2タイプ。

  • 抽象概念を扱う思考力を高めて、発想力や理解力を向上させたいと思う読者
  • 意識的にせよ無意識的にせよ、自ら具体と抽象という概念の往復を実践しながら、周囲の「具体レベルにのみ生きている人」とのコミュニケーションギャップに悩んでいる人

「抽象化」という概念を取り入れることで人間がどのように柔軟な知的活動を行なっているか、行なえるのかを言及している。

なぜ読もうと思ったのか

ソフトウェア設計における抽象化はもちろんだが、他者とコミュニケーションをとるうえで、相手によって同一の現象あるいは目標の表現方法を変えることがよくある。 このようなコミュニケーションの中にも存在する抽象化についてどのように言語化・検証されるのか興味があった。 そして単純に抽象化思考について体系的な理解をすることで普段から意識して抽象化思考力を向上できないか?と考えた。

読んでわかったこと

Kindleでハイライトした本文の引用と理由をまとめておく。

抽象の世界というのは具体の世界と違って、見えている人にしか見えません。したがって、「見えてしまった人」が「まだ見えていない人」とコミュニケーションするのは一苦労どころの話ではありません(実際はまともに意思疎通することは、ほとんど不可能です。)

言語が抽象化の例だと書きましたが、言語能力は抽象化能力と表裏一体のものです。したがって、たとえ人間と犬の「自動翻訳機」ができて、単語レベルの変換が可能になって話ができたとしても、抽象化のレベルが合わなくては、コミュニケーションにならないはずです。

人間は一人残らず抽象概念の塊なのですが、自分の理解レベルより上位の抽象度で語られると、突然不快になるという性質を持っているようです。

逆にいうと他人が抽象化した世界を自分が見えていないことでコミュニケーションをうまくできていないこともありそう(というか起きている)と自省した。

具体的な表現は、解釈の自由度が低い、つまり人による解釈の違いがほとんどないのですが、反対に抽象的な表現は、解釈の自由度が高く、人によって解釈が大きく異なる場合があります。解釈の自由度が高いということは、応用が利くことになり、これが抽象の最大の特長ということになります。

とくに本文では言及がないが、抽象化の先にあるパターンの生成にも通ずることかなと思った。

抽象化とは、このような「デフォルメ」です。特徴あるものを大げさに表現する代わりに、その他の特徴は一切無視してしまう大胆さが必要といえます。

抽象化の最大のメリットとは何でしょうか?  それは、複数のものを共通の特徴を以てグルーピングして「同じ」と見なすことで、一つの事象における学びを他の場面でも適用することが可能になることです。

哲学、理念、あるいはコンセプトといった抽象概念がもたらす効果は、個別に見ているとバラバラになりがちな具体レベルの事象に「統一感や方向性」を与えることであり、いわばベクトルの役割を果たしているのです。

しかし哲学のレベルで方向性が共有されていれば、個別に見える案件もすべてその大きな方向性に合致しているかどうかで判断でき、効率的です。

戦術、戦略の話を良くするが戦略の上位概念として哲学があることを最近意識している。なるほど、哲学も高度に蒸留された抽象的概念なのだなと改めて理解できた。

どうすれば、こうした抽象化思考をうながすことができるのでしょうか。 多種多様な経験を積むことはもちろんですが、本を読んだり映画を見たり、芸術を鑑賞することによって実際には経験したことのないことを疑似経験することで、視野を広げることができます。そうすれば、「一見異なるものの共通点を探す」ことができるようになり、やがてそれは無意識の癖のようになっていきます。

これは設計における抽象化にも適用されると思った。汎用的で常用するスキルはエンジニアリングだけでなく幅広い語彙や経験に基づく。抽象化を行なった回数という場数的な経験もそうだけれど、多く具体や事象にふれメタファーとなる語彙を増やしていくことも必要そう。

関連記事