Saya melihat gambar yang bagus di sini . Saya belajar bahwa semua kompiler yang mendukung bahasa .net mengkonversi kode sumber ke CILformat. Sekarang Microsoft tidak pernah mendatangkan .NETsemua sistem operasi dengan menulis CLR untuk semua sistem operasi. Lalu mengapa menyimpan format kode antara dan CLR untuk menjalankan CIL itu. Apakah itu bukan sakit kepala yang harus dihadapi? Mengapa Microsoft memilih menjadi seperti ini?
EDIT Arsitektur ini harganya mahal. Itu akan mengurangi kinerja, bukan? Java melakukan ini untuk menjaga independensi platform, untuk alasan apa. NET melakukannya? Mengapa tidak menyimpan kompiler seperti C biasa. Cara apa pun juga akan memerlukan kompiler untuk mengkonversi kode ke CIL jika saya perlu menambahkan bahasa baru, satu-satunya perbedaan yang akan dibuat adalah bahasa target. Ini semua.