オブジェクト指向プログラミング
60年代にソフトウェアが始まったころは、データ構造やアルゴリズムが強調されていたために、個々の部品が歯車のように絡み合って全体を構成していました。これは、1つの部品が壊れると、全体が壊れてしまうという問題を含んでいます。
私がソフトウェアを始める前は、生物学を学び、生物学で学位を取りました。皆さんの体の中には10,000,000,000個の細胞があります。そして、少々の細胞が壊れたからといって、人が死ぬことはありません。うまくいっている細胞の数が圧倒的多数であれば、全体としてうまくやっていけているのです。
さて、ここで一般的な教育(general education)がどうして重要であるかについて述べましょう。オブジェクト指向の考え方は、生物学とソフトウェア工学という違った考えの接点として生まれたハッピーなアイディアなのです。(金魚が金魚バチを飛び出して空気に触れることで水を発見したり、他の金魚バチを発見したことに対応する。)
今まで歯車だったソフトウェアの個々の部分を、詳細を隠して保護することで細胞に変えられました。こうすることによって、エラーを早い段階(細胞内)で捕まえ、全体が致命傷を受けることを防げます。