共通言語基板て何ですか
共通言語基板(Common Language Infrastructure)について
プログラマが書いたソースコードを、OS環境に依存することなく動かすための(マイクロソフトが定めた)仕様です。
.NET Frameworkという実行環境が必要です。
ちなみに自分はC#で開発する時は.NET Frameworkが必要くらいにしか思ってませんでした。
Javaと.NET
CやC++、VBその他の高級言語で書かれたコードが、OS関係無く動く中間コードに生成されます。
どこかで聞いた話だなと思ったらJavaと似た仕組みなんですね。Javaもどんな環境でも動きますし。
それもそのはずで、Javaに対抗するためにマイクロソフトが後追いで作ったのが.NETなのだそうです。
スマホアプリの作成に興味がある人は、AndroidとiOS両方に向けて作りたいけど、開発言語が違うし、どちらも習得するのに時間がかかる。だったらどちらのコードも生成してくれるツールがあればいいよね、ということでXamarin(ザマリン)
のようなクロスプラットフォーム(異なるOSでも同じように動くこと)開発環境に.NETの仕組みが使われてます。 Unityもそうですね。
メリットとデメリット
メリットは色々な環境で動くことですが、デメリットは実行速度が遅くなったりソースを解読されやすいという点があるようです。
参考: