発明とはなにか

誰がどうやってコンピュータを創ったのか?

誰がどうやってコンピュータを創ったのか?

うまくまとまっているので,ちょっと引用.

発明とは何か?アタナソフのABCマシンは確かに独創的なアイデアに満ちた,先駆的業績であった.しかしENIACはすべてABCのマネであるとはいえないであろう.ENIACに使われた技術には,原理的あるいは要素的には先駆的な研究や開発があった.だからといってENIACには革新性がないとはいえない.大発明とは突然現れるものではなく,それには必ず先駆的な発明があり,それらの積み重ねの上に現れるものである.また,アイデアを思いつくこと,計画を立てること,試作すること,それを実現することの各段階を区別することは,技術開発を評価する時には常識である.アイデアを思いついたとか,試作に成功したと言うだけで,その後のすべての成果を独占することは出来ない.
本書では,先駆者の独創性について優劣をつけようとか,論争に白黒つけようとするのではない.コンピューターの研究開発は,いろいろなところで行われていた.あるものは孤立し,あるものは密接に技術を交流し,後世に影響を与えた.この歴史の流れに沿った(あるいは孤立した)漸進的な発明の積み重なりを眺め,理解したいというのが本書の目的なのである.
たとえ発明が改良的であっても,その改良が次世代への本質的なブレークスルーであることがある.原理や要素技術だけでは世の中は何も変わらない.「単純に誰が発明したのか?」と問うことはあまり意味がない.(P97,第5章「ENIACと戦争の時代」より引用)

こういうことは,技術者的には常識だと思ってたんだが.

ある言語があって,その言語に他の言語が「影響を与えた」ことは珍しくも何ともない.ある革新的な新技術があったとして,それに対する先駆的なアイデアや技術があるのもごく普通の話.新技術というのはそういう性質のものです.

http://d.hatena.ne.jp/odz/20071130/1196433944

追記

Java 以前になかったから複数の概念をかねていないという論理は私には理解不能なものであるが。

理解不能なのに,なにをどう反論するおつもりで?

で、「interface は Java 以前にはなかった」という部分に対して意義を唱えている人がいるわけで、

  • (概念として整理されているかはともかく)「interface的使い方」はあった.
  • 「interfaceを機能として持っている言語」は(ほとんど)なかった.
  • インターフェースの試験実装はあった(らしい)*1
  • たとえばObjective-Cには機能としては同等のものはあったが,インターフェースとして組み込まれたものではない(らしい)
  • Javaは,他の多くの言語の影響を受けている.(ほぼ常識)

「アイデアを思いつくこと,計画を立てること,試作すること,それを実現することの各段階を区別することは,技術開発を評価する時には常識である.」

区別しない人がその区別なしに「(アイデアは)あった」「いや,(試作は)なかった」などと議論するのを見てるのは不毛なんだと.