私はJava開発者であり、CでGUIプログラムを作成することはほとんどありません。しかし、PSPP、R、Diaなどの多くのGNUのプロジェクトがCで作成されていることに気付きましたJavaまたはC++。
私は個人的にはこれを気にしませんが、なぜGNUがCをそんなに好むのか本当に知りたいです。私の理解では、Cはオブジェクト指向プログラミングで最もサポートされていないものであり、今日のCS OOPはコードを再利用しやすくするため、教育はOOPを強調しています。この場合、なぜ多くの開発者がC++やJavaではなくCでの開発を選択するのでしょうか。
GNUのソフトウェアがCだけで書かれている理由を誰かが知っていますか?ソースコードがより役立つように、GNUのソフトウェアはC++またはJavaで作成する必要がありますか?なぜですか?
主な理由は、Cがソフトウェアの共通語であり、GNUプロジェクトはかなり前から存在しており、GNUプロジェクトとFSFは他の何よりも、他の考慮事項よりもソフトウェアの自由を尊重します。パフォーマンス、モジュール性、コードの「エレガンス」、バグ修正など、allソフトウェアの後ろに座りますGNUプロジェクトに関する限り、自由です。
GNUの歴史の多くにおいて、Cはその目標を達成できる唯一の言語でした。 GNUプロジェクトは1984年にIIRCを開始しました。最初の開発作業の1つはGNUツールチェーンを作成することであり、Cが明白な選択でした。短期間のコンパイラーは受け入れられませんでした。Ciaは、汎用ソフトウェア開発に適したシンプルでありながら非常に効果的な言語であり、初期のGNUコンパイラーの妥当なターゲットです。
その間、C++はまだ1年しか経過しておらず、信頼できるコンパイラが利用可能になるまでにはまだ何年もかかります。GCCが登場したのは1987年になってからで、その1年後までC++機能がありませんでした。長年、 Javaは「トラップ」でした 、すべてのJavaソフトウェアは実行するために非フリーのランタイムを必要としたため、Javaは、当時存在していたとしても、オプションではありませんでした。