まず、タイムラインを確立してみましょう。
リッチーの主な影響はBCPLとALGOL(両方とも命令型言語)であり、Cはオブジェクト指向に対するSimulaとSmalltalkのアプローチがまだよく知られていなかったときに作成されました。1972年頃に完成し、クラスを持つCはわずか7年後に登場し、デニスリッチーとブライアンカーニハンの両方がその創始に関与しました。
当時、私はCを利用可能な最高のシステムプログラミング言語だと考えていました。それはその後(1979年)ほど明白ではありませんでしたが、デニスリッチー、スティーブジョンソン、サンディフレイザー、グレッグチェソン、ダグマキロイ、ブライアンカーニガンなどの専門家がいて、そこから学び、フィードバックを得ることができました。彼らの助けと助言がなければ、Cがなければ、C ++は死産だったでしょう。
繰り返される噂に反して、Cを使用しなければならないと言われたことはありませんでした。また、Cを使用しないように言われたこともありませんでした。実際、最初のC ++マニュアルは、デニスが私にくれたCマニュアルのtroffソースから発展しました。ベル研究所では多くの新しい言語が設計されました。少なくとも「研究」では、言語の偏見を強制するルールはありませんでした。
11年後にObjective Cが登場し、Cとオブジェクト指向をもたらすための主要な成功した取り組みはCとC ++の両方でした。 World Wide Webの前の時代について。1993年にMosaic(最初のブラウザー)が登場したのは、業界のターニングポイントでした。数年後にリリースされたJavaとDelphiは、少なくとも人気の点で、前任者に比べて大きな利点がありました。Webは、SunがWORAの約束でターゲットにしたプラットフォームの1つであり、おそらく当時より重要なものであり、Javaは当時生まれたプラットフォームの言語として大いに販売されていました。
もう1つの重要な要因は、1980年代後半から1990年代初頭に、特にホームコンピューティングでGUIが普及し始めた時期であり、同時にハードウェアがどんどん安くなっていることです。オブジェクト指向は、GUIおよびグラフィック指向アプリケーション全般を開発する際に非常に便利なパラダイムです。TurboPascal、Delphi、Visual Basic、および(おそらくは少し拡張された)Javaは、GUI開発を簡素化したことで(当時は)賞賛されました。
SunのJavaの積極的なマーケティングも明らかに役割を果たしましたが、Javaとの最初のやり取りを今でも鮮明に覚えているため、感銘を受けませんでした。Javaに対する私の最初の反応は、「ええと、C ++を解釈するリソースに飢えているだけです。TurboPascalに固執します。ありがとうございました」(ちょっと、私は当時17歳でした;)。当時、他の誰かがJavaにどのように反応したかはわかりませんが、私にとってはただの流行であり、すぐにDelphi(およびVisual Basic、ため息)に移り、数年後に大学でJavaを使い始めました、そしてそれは必修科目だったからです。
Javaとそのオブジェクト指向のフレーバーが非常に急速に普及するのは事実ですが、1990年代半ばまではパラダイムがそれほど普及していないとは本当に思いません。Webの導入によって人気の定義が変わりました。いずれにせよ、1990年代半ばは、ソフトウェア開発が一般的に盛んに行われた時期であり、Web、GUIの急増、および安価なハードウェアが重要な要素となりました。Javaは適切なタイミングで適切な場所に配置されていました。
参考文献:
関連する質問: