私は最近 J2SE を学習しています。約 20 日後にマー ビンビン先生の J2SE を読み終えました。この先生はとてもユーモアがあるので、授業を聞いていても気が散りません。このビデオを学ばせてくれたマー・ビンビン先生に心から感謝します。そして、私たちにこのビデオを学ばせてくれたミー先生にさらに二つの賛辞を送ります。 (世界には美しいものはたくさんありますが、足りないのは美しいものを見つける目です!)。
さっそく、このビデオで実際に何が言われているかを見てみましょう。以下に示すように:
オブジェクト指向言語を勉強したことがある人 (私は Java をモデルにして Java をさらに改良した C# を勉強しました) が、この図を見たときの第一印象は、基本的に GUI しか勉強していないように見えるということです。 , JDBC は新しいものです。
実際、ほとんどの人はそれらが本当に似ていると考えています。以下で比較してみましょう!
構文の点では、どちらも C++ での関数とそのパラメータの const 変更、マクロ置換、グローバル変数、グローバル関数など、多くの派手な場所を放棄しています。
継承に関しては、どちらも単一ルート継承と、理解しやすく構築しやすいマルチインターフェイス実装ソリューションを採用しています。ソースコードの構成に関しては、宣言と実装を統合するより優れた論理カプセル化が提案されています。
基本型と単一ルート継承オブジェクト間の型の統一という点では、C# によって提案されたボックス/アンボックスは Java のパッケージング クラスよりも賢明で効率的です。
コンポーネント指向が現代のソフトウェア開発の主流であることは間違いありません。 C# は、6 年前に登場した Java とはまったく異なるコンポーネント プログラミングに「夢中」になっています。もちろん、これは時代の問題です。 C# は、プロパティ、インデクサー、委任、イベント、演算子のオーバーロード、特性、バージョンなどを通じて、コンポーネント プログラミングの直接のサポートを実装します。これらは Java のメソッド、インターフェイス、またはアダプターを通じて間接的に実装できますが、ソフトウェア業界の歴史によれば、これはプログラミングの効率やロジック設計に大きなダメージを与えます。高級言語が最初に直面するのは人間ではなく人間です。機械。これらの言語レベルのコンポーネント サポート メカニズムに加えて、.NET プラットフォームはコンポーネントの構成、操作、管理などのためのパッケージ ソリューションも提供します。コンポーネント開発用にカスタマイズされた Visual Studio.NET はさらに魅力的です。 . C# コンポーネントプログラミングは広大な世界を広げます。他のテクノロジに関して言えば、Java の弱い欠点は無視できますが、コンポーネント プログラミングに関して言えば、Java には C# に比べて治せない欠陥があります。特に C++ と Visual Basic のバックグラウンドを持つ開発者にとって、C# にはこの点で抗いがたい魅力と誘惑があります。
クロスプラットフォームの観点では、Java のサポートと実装は賞賛されていますが、JVM の速度は依然として頭の痛い問題です。 C# は基礎的な構造に関して移植性を十分に考慮していますが、少なくとも成熟してテストされた製品はまだありません。 C# は、クロスプラットフォーム プログラミングよりも XML Web サービスの相互運用性に関心があるようです。ただし、C# の基本言語構造 (CLI) による 20 以上の主流言語に対するオブジェクト レベルの相互運用性のサポートにより、C# の技術的地位は大幅に向上しました。 COM コンポーネントとの安価な相互運用性も C# に多くのポイントをもたらします。互換性のあるシステムを維持することは現代のソフトウェア業界にとって非常に重要であり、それは大多数の開発者に対する責任の表れでもあります。
もちろん、2 つの言語の包括的な技術評価は、バックエンド プラットフォーム (.NET の場合は C#、J2EE の場合は Java)、プログラミング フレームワークのサポートの単純なリストと比較ではありません。 、各言語に関連するツールの実装が現在行われています。システム基盤などの中には、プログラミング言語の開発に大きな影響を与えるものもあります。純粋に技術的な観点から見ると、C# は間違いなく Java よりも競争力があります。誰が誰をコピーしたかについて議論することに意味はありません。テクノロジーの開発は本質的に相互学習のプロセスです。純粋な技術的な競争だけでは、この議論の結果を決めることはできません - 対決でなければならない場合。ソフトウェア業界は競争を歓迎しています。市場によって強化されたテクノロジーのみが私たちに役立つことができます。