Rubyは1995年にさかのぼります。1995年に通訳を書いていた場合、どのような選択肢がありましたか?同じ年にJavaがリリースされました。(そして、v1.0では非常に遅く、多くの点で、実際に使用する価値はありませんでした)
C ++はまだ標準化されておらず、C++のコンパイラサポートは非常に大雑把でした。(また、現在使用している「最新のC ++」への移行もまだ行われていませんでした。この頃にもSTLの標準化が提案されたと思います。実際には、数年後まで標準に追加されませんでした。追加されてから、1)コンパイラーが追いつき、2)人々がこのジェネリックプログラミングスタイルに慣れるまで、さらに数年かかりました。当時、C ++は何よりもまずOOP言語であり、多くの場合、そのスタイルのC++はCよりもかなり遅いです(最近のC ++コードでは、一部はより優れたコンパイラー、一部はより優れたコーディングスタイル、OOP構造への依存度の低下、テンプレートやジェネリックプログラミングへの依存度の向上により、パフォーマンスの違いはほとんど解消されています)
Pythonは1991年に開始されました。Perlはさらに古いです(1987)
PHPも1995年のものですが、さらに重要なことに、プログラミングについてほとんど何も知らない人によって作成されました。(そしてもちろん、これは多くの重要な方法で言語を形作っています)
当時、Cはポータブルで将来性のあるプラットフォームに最適だったため、おっしゃる言語はCで始まりました。
そして、私はこれを調べていませんが、何よりも無能によって形作られているPHPの場合を除いて、他の言語の言語設計者は、*すでにそれを知っていたのでCを選択しました。ですから、おそらくレッスンは「Cが最高」ではなく、「あなたがすでに知っている言語が最高」です。
Cがよく選ばれる理由は他にもあります。
- 経験とアクセシビリティ:Cは簡単に理解できるシンプルな言語であり、参入障壁を低くします。それも人気があり、経験豊富なCプログラマーがたくさんいます。これらの言語が普及した理由の1つは、通訳者の育成を支援するプログラマーを見つけるのが簡単だったからかもしれません。C ++は、習得してうまく使用するのがより複雑です。今日、それはそれほど問題ではないかもしれませんが、10年または15年前ですか?
- 相互運用性:ほとんどの言語はCインターフェースを介して通信します。あなたの派手な新しい言語は他の言語で書かれたコンポーネントに依存するので(特に言語自体が制限されていてライブラリが少ない初期のバージョンでは)、C関数を呼び出すのはいつでも素晴らしくて簡単です。とにかくいくつかのCコードを持っているので、ずっと行き、すべてをCで書くのは魅力的かもしれません。
- パフォーマンス:Cはあまり邪魔になりません。魔法のようにコードを高速化するわけではありませんが、優れたパフォーマンスを実現できます。もちろん、C++や他の多くの言語もそうです。しかし、それはCにも当てはまります。
- 移植性:事実上、すべてのプラットフォームにCコンパイラがあります。最近まで、C++コンパイラははるかに多くのヒットとミスがありました。
これらの理由は、Cが実際に通訳者を書くための(または他の何かのための)優れた言語であることを意味するのではなく、他の人がCで書く原因となった動機のいくつかを説明するだけです。