5.ソフトウェアは、制約条件下で創造される美しい人工物である
大槻, 2014.02.17
ソフトウェアは、人間が創造する「人工物(artifact)」であることは間違いありません。概念的で目に見えないこと、最終的にはコンピュータによる実行を伴うことが特徴です。
クラウス・クリッペンドルフは、著作『意味論的転回』の中で人工物のデザイン論を提唱しています。「科学」というのは、過去に起こったことを分析して何か法則を見いだしたり証明したりするのに対して、「デザイン」というのは将来について意思決定していく行為であり、「人間中心」の「意味」を扱う体系でなくてはならないと主張しています。この視点は、サイエンスとエンジニアリング、そして、デザインとの関係を新しい世界観で構成していくことを意味しています。
一方、フレデリック・ブルックスの著作”The Design of Design”では、創造的活動としてのソフトウェアのデザイン手法について、随想的に本質を述べています。全体を見ること、ユーザの不確実性、制約と美、チームによる創造活動、専門家集団のコラボレーションなどについて述べています。特に、「制約と美」は、関係が深く、自由度が高過ぎると美しい人工物は生まれないようです。メモリ制約、計算量の限界、予算やさまざまなリソースに制約条件が、想像力をかきたて、真に創造的な成果を生み出す原動力になることが多いと言えるでしょう。
『新ソフトウェア宣言』の中で、この文は、言葉遣いの中に修飾語も多く、「美」という主観的な価値観を連想させる言葉をいれることによって、メッセージ性を高めようとしています。
この宣言文中で「美しい」という言葉を使っているところがポイントです。ブルックスJr.の『デザインのためのデザイン』[Brooks2010]によれば、テクニカルデザインにおける美は、以下のように集約されています。
•エレガント:少しの要素で多くを達成すること
•無駄があること:冗長性
•明瞭性:構造概念が一目瞭然であること
•メタファ:馴染みのある比喩による理解
•一貫性:直交性(独立なものの組み合わせになっている)、
本来性(重要で無いものは入れない)、
汎用性(本質的なものを制限しない)
これはなかなか含蓄のある項目です。私も直感的には、シンプルであること、対称性があること、直交していることなどが美の根底にはあり、さらに、茶の湯の千利休にあるような「わざと欠けを作って不完全な美を演出する」ようなことも大事なことだと思っています。これは、キリスト教の三位一体で言う「父」と「子」と、もう一つ「精霊」があることによって、過剰性が担保され、世界に広がりがでるということに通じているとも言えます[Nakazawa2006]。物理学の理論も同様で、信ずるに足る美しさが要求されます。ヒッグス機構の理論では、弱い力の対称性が破れる場合があることを主張していて、対称性の理論のエレガントさを保ちつつ、現実世界の予言も行っている魅力ある美しいもので、多くの物理学者が信じている理論です[Randall2012]。
美に代表される「真善美」は哲学的な問題です。このような哲学的問題を、神様や宗教抜きで人間化して論じるのは、難しいことです。おそらく現象学的なアプローチが唯一の方法かもしれません。真というのは「ほんとう・うそ」という科学的な事項、善というのは「よい・わるい」という社会的な事項、美というのは「きれい・きたない」というエロスの問題です[Takeda1993]。