言葉の曖昧さと、実践の明確さ(科学と哲学とプログラミング)
2023年末に人生での心の重要さに気づく機会があり、それから心や認知、意識について学び始めました。
心は、脳という形のあるものが生み出す形のないものです。そのため心の研究は、科学と哲学の2つが交わる領域です。私は科学者や研究者が書いた本を読むのが好きだったので、主に科学の方面から心について学ぶことにしました。
■ 科学者から見た哲学
何冊か本を読んでいるうちに、心について学ぶという目的からは外れるのですが、科学者の哲学に対する考え方に共通点が見られることに気づきました。
この二つに共通していることは、ある種の哲学には検証することや実践すること、問題を解くことが欠けていて、それによって不確かなもの(砂上の楼閣、現代哲学のダースベイダー)になっているということです。
セリグマンは、現実世界での応用がない学問や研究のあやうさについて、次のように指摘しています。
セリグマンはプリンストン大学で哲学を専攻し、ウィトゲンシュタインに魅了されます。しかしその後は軌道修正をして心理学の道に進み、不幸から立ち直る方法やより幸福に生きる方法について、実践的な研究を行いました。自身のキャリアを「私が間違いから立ち直り、永遠の謎を解こうとすることから離れて、問題を解決する道へと苦労して進むのに数十年の年月がかかった」と振り返っています。
■ 言葉とプログラム
この理論と実践の関係について気になったのは、同じようなことをソフトウェア開発を通して学んだからでした。上で挙げた科学と哲学の関係は、ソフトウェア開発におけるプログラムと文章(文書)の関係に非常に似ています。
ソフトウェア開発の特徴や難しさを表す有名な図に「顧客が本当に必要だったもの」というものがあります。
顧客が欲しいと説明したことと、実際にできるものや、本当に必要だったものなどには必ずと言っていいほど違いが生まれます。プログラマはこの図を見てその可笑しさを笑いますが、プロジェクトを進めると気づかないうちに同じような状況になっているものです。
次の図もソフトウェア開発の性質をよく表していると思います。完全な部品を作って組み立てるのではなく、動くものを完成させてフィードバックを得ながら改善する方法が良いということです。
設計図を書いてその通りに作るという方法は、しばしば「顧客が本当に必要だったもの」現象を引き起こします。その代わりに、まずは動くものを作り、フィードバックをもらいながら少しずつ進化させていきます。現実では自転車をバイクにすることはできませんが、ソフトウェアなら大きく作り変えることもできます。
アジャイルソフトウェア開発宣言には「包括的なドキュメントよりも動くソフトウェアを」とあります。ドキュメントをたくさん書くことではなく、プログラムを書いて実行して検証するという現実的な歩みを繰り返した先に、課題を解決する「本当に必要だったもの」にたどり着けるのです。
言葉には曖昧さがありますが、プログラムが指し示す意味は極めて明確です。Linuxやgitの開発者のリーナス・トーバルズは”Talk is cheap. Show me the code.”(口ではなんとでも言える。コードを見せなさい)と言っています。また、似たような言葉に”Shut the fuck up and write some code”(グダグダ言っていないでコード書けよ)というのもあります。問題を解決する時に、つい一般的で抽象的な議論にそれてしまうことがありましたが、そのときはこの言葉を思い出してコードを書くことに戻っていました。
■ 哲学と一括りにせずに
冒頭で触れたニュー・アースと一緒におすすめされた本が、マルクス・アウレリウスの自省録でした。ニュー・アースと共通する内容もあり、格調高い文章でありながらも実践的なところが良く、好きな本の一冊になりました。例えば「善い人間のあり方如何について論ずるのはもういい加減で切り上げて善い人間になったらどうだ。」という言葉は、プログラマの名言に通ずるものを感じます。
ここまで哲学に対してやや否定的な意見を取り上げてきましたが、自省録の思想はストア"哲学"に基づいているそうです。気づかないうちに、苦手だと思っていた哲学に入門していました。
何かを評価するためには、それを構成する要素を個別に、そして真剣に吟味する必要があります。その姿勢は、さまざまな観察に基づいて理論を作り上げる科学の姿勢と共通するものです。私が「哲学は苦手だし、実践がないから不安定だ」と結論づけるにはまだ早過ぎますし、おそらくソクラテスやポパーの思想から学ぶことは多くあるのではないかと思います。
参考
この記事が気に入ったらサポートをしてみませんか?