.Netが何であるかについて混乱しているのはあなただけではないと思います。あなたがカバーすべき他の答えはすでにありますが、私は他の人のためにこのちょっとした情報を捨てます。
.Netが「実際に」何であるかを確認するには、c:\ Windows \ Microsoft.Net\Frameworkにアクセスします。
そこには、インストールしたバージョンに固有のフォルダが表示されます。たとえば、v2.0.xxxxxフォルダをインストールしている場合は、そのフォルダに移動します。
そのフォルダにはフレームワークがあります。基本的に、多数の.exeファイルと.dllファイルが表示されます。System。*。dllで始まるすべてのDLLファイルは、基本的に.Netフレームワークです。
そのフォルダに表示される.exeファイルは、開発者およびコンパイラのユーティリティです。あなたはC#について言及しました。csc.exeファイルを見つけます。これがC#コンパイラです。
プログラムの作成は本当に簡単です。次のコードをhello.csファイルにスローします。
using System;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("hello world");
}
}
次に、コマンドラインで次のように入力します> csc hello.cs
これにより、.exeファイルが生成されます。それを実行すると、明らかに「helloworld」が吐き出されます。
Console.WriteLine()という行がフレームワークを呼び出しています。ConsoleはSystem名前空間内に存在するオブジェクトであり、WriteLine()は静的メソッドです。
これは、そのConsole.WriteLine()メソッドの逆アセンブルされたコードです。
[HostProtection(SecurityAction.LinkDemand, UI=true)]
public static void WriteLine(string value)
{
Out.WriteLine(value);
}
「PHPと.Netのどちらを使うべきか」、「Pythonと.Netのどちらを使うべきか」などと言われると、それが間違っていることに気づき始めます。彼らは明らかに言語をフレームワークと比較しています。C#は言語であり、.Netプラットフォーム上でコードを記述するために使用できる多くの言語の1つにすぎません。Console.WriteLine()の同じメソッドは、C#、VB.Net、Pascal、C ++、Ruby、Python、F#、および.Netプラットフォーム上で動作するように作成されたその他の言語から呼び出すことができます。
それがお役に立てば幸いです。
-キース