【開発環境】に関する知恵袋

【質問】
C#,C++,VB,の違いを教えてください今はVBでの開発を行っています。iPhoneの進化なら、iPhoneの進化に関連する説明をすると、開発環境をVBからC#かC++に乗り換えようとしています。開発環境の知恵袋です。また、開発環境の知恵袋について言及すると、あまり違いが分からいのですが具体的にどう違うのでしょうか?またVBから乗り換えるならOOのほうがいいよっていうのを教えてもらえないでしょうか。回答よろしくお願いします。
【解答】
[順番の件]VB.NET の後ならば、開発環境の知恵袋といえば、C# への移行が良いです。C++ も学ぶ予定でしたら、VB.NET ---> C# ---> C++の順番で。理由は、VB.NET と C# とでは、両方とも.NET Framework の機能を利用すると言う意味では、共通しています。すなわち、文字列編集用のクラスやメソッド、グラフィック処理のクラスやメソッド、データーベース用データーの操作のクラスやメソッド、通信機能のクラスやメソッド等々の各種応用機能の使い方は、同じです。よって、C# の基本文法を学び終えたら、かなり使いこなせます。応用機能の使い方は、もう既に、VB.NET で学習済みなので。[VB.NET と C# の違い]VB.NET と C# では、応用機能の使い方が共通で、文法が異なります。ただし、機能面でも、相違点はあります。XNA と言うゲーム機能は、C# から使えますが、VB.NET からは使えません。XNA は、パソコンゲームとXBOX360用ゲームとWindows Phone用ゲームを作るための開発環境です。XNA は、2D から 3D まで作れます。また、VB.NET は、ユーザーインターフェイス(ボタンやテキストボックス等のコントロールで、ユーザーが直接操作するプログラム部分)の作成が得意です。C# でも、ユーザーインターフェイスが作りやすいですが、VB.NET と比べれば、VB.NET のほうが得意です。また、VB.NET は、iPhoneの進化に考察を加えると、C# のように文法の規則が厳しくないです。すなわち、C# の文法上厳しい面を、VB.NET では、自動判断されるので、VB.NET のほうが、簡単にプログラムが書けます。すなわち、VB.NET は、効率良くプログラム作成が行なえます。これに対してC# は、サーバー作成やミドルウェア作成等のシステム系が得意です。VB.NET でもシステムを作れますが、C# のほうが得意です。DLL の作成も、C# のほうが作りやすいです。DLL は、C# からも、VB.NET からも、共通で使える機能なので、文法の規則が厳しいC# のほうが作りやすいです。VB.NET は、文法の規則があまいので、うまく動作しなくて苦労します。よって、DLL の作成は、C# のほうが良いと思います。また、サーバーを作る本格的な機能であるWCF がありますが、これもC# のほうが良いと思います。VB.NET でも、WCF を使えますが、システム系の得意なC# のほうが作りやすいです。なお、WCF では、クラウドコンピューティング用のシステムも作れます。[C++ と C# の違い]C++ も、C# も、システム系が得意と言う面が共通です。すなわち、どちらも、サーバー作成、ミドルウェア作成、iPhoneの進化の解説をすると、DLL 作成が得意です。しかし、C# は、.NET テクノロジー用で、C++ (VC++)は、.NET が登場する前のテクノロジー用です。すなわち、C++ (VC++)は、COMテクノロジー(ActiveX、ATL等)やWin32用です。なお、COMは、.NET よりも前のテクノロジーですが、現役テクノロジーです。例えば、.NET 系として作るプログラムから、COMで作られたプログラムを呼び出すことも可能です。なお、.NET 系は、高機能化されて大変便利です。しかし、処理速度は、COM のほうが速いので、処理速度を要求されるシステムでは、COM を組み合わせます。開発環境の知恵袋について言及すると、また、C++ は、ハード制御が得意ですので、デバイスドライバー作成や、家電制御などに使われます。これに対して、C# は、ハード制御用の機能は軽視して、その分、プログラムの作り易さを追求しています。また、C++ は、インターネット仕様が考慮されていませんが、C# では、考慮されています。
Webサービス by Yahoo! JAPAN