Infrastruktur Bahasa Umum
IkhtisarSpesifikasi CLI menggambarkan, antara lain, keempat aspek berikut:
Semua bahasa yang kompatibel akan terkompilasi menjadi Common Intermediate Language (CIL), yang merupakan bahasa pengantaraan yang di-abstraksi dari perangkat keras platform. Ketika kode dieksekusi, VES yang spesifik terhadap platform akan mengkompilasi CIL menjadi bahasa mesin menurut perangkat dan sistem operasi yang ditentukan. Standardisasi dan lisensiPada bulan Agustus 2000, Microsoft, Hewlett-Packard, Intel, dan lainnya bekerja untuk menstandardisasi CLI. Pada bulan Desember 2001, standar tersebut diratifikasi oleh Ecma, dan diikuti oleh standardisasi ISO/IEC pada bulan April 2003. Microsoft dan para rekannya memegang paten untuk CLI. Ecma dan ISO/IEC mensyaratkan bahwa semua paten yang diperlukan untuk implementasi harus tersedia di bawah "aturan yang wajar dan tidak diskriminatif (RAND)." Lisensi RAND umumnya memerlukan pembayaran royalti, yang dapat menjadi penyebab kekhawatiran bagi Mono. Pada bulan Januari 2013, Microsoft maupun para rekan belum mengidentifikasi paten apa pun yang diperlukan untuk implementasi CLI yang tunduk kepada aturan RAND. Hingga bulan Juli 2009,[5] Microsoft telah menambahkan C# dan CLI ke dalam daftar spesifikasi yang berlaku bagi Microsoft Community Promise (Janji Komunitas Microsoft),[6] sehingga siapa pun dapat dengan aman mengimplementasi edisi standar yang ditentukan tanpa takut akan adanya gugatan paten dari Microsoft. Implementasi dari standar CLI memerlukan ketaatan terhadap salah satu standar profil yang didukung dan didefinisikan, sekurang-kurangnya profil kernel. Profil kernel sebenarnya merupakan kumpulan tipe yang sangat kecil untuk didukung, dibandingkan dengan pustaka inti instalasi .NET asal yang banyak dikenal. Namun, klausul ketaatan CLI memungkinkan untuk memperluas profil yang didukung dengan cara menambahkan metode dan tipe baru ke kelas-kelas, dan juga menurunkan dari namespace baru. Tetapi tidak diperbolehkan untuk menambahkan anggota baru ke antarmuka. Ini berarti bahwa fitur dari CLI dapat digunakan dan diperluas, selama implementasi profil yang sesuai tidak mengubah perilaku program yang dirancang untuk bekerja atas profil tersebut, secara bersamaan memperbolehkan perilaku yang tidak diketahui dari program yang ditulis khusus untuk implementasi tersebut. Pada tahun 2012, Ecma dan ISO/IEC menerbitkan edisi baru dari standar CLI,[1][2] yang tidak tercakup oleh Community Promise.[6] Implementasi
Lihat juga
Catatan
Referensi
Pranala luar |