Pelatihan
Modul
Mulai mempelajari tentang .NET. Pahami apa itu .NET dan cara kerjanya. Buat aplikasi kecil dengan cepat di lingkungan .NET berbasis web.
Browser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Saat bekerja dengan .NET, Anda akan sering menemukan istilah "kode terkelola". Artikel ini menjelaskan apa arti kode terkelola dan memberikan informasi tambahan di sekitarnya.
Sederhananya, kode terkelola hanyalah bahwa: kode yang eksekusinya dikelola oleh runtime. Dalam hal ini, runtime bahasa umum yang dimaksud disebut Common Language Runtime atau CLR, terlepas dari implementasinya (misalnya, Mono, .NET Framework, atau .NET Core/.NET 5+). CLR bertugas mengambil kode terkelola, mengkompilasinya ke dalam kode mesin dan kemudian mengeksekusinya. Selain itu, runtime menyediakan beberapa layanan penting seperti manajemen memori otomatis, batas keamanan, dan keamanan jenis.
Kontraskan ini dengan cara Anda akan menjalankan program C/C++, juga disebut "kode tidak terkelola". Di dunia yang tidak terkelola, programmer bertanggung jawab atas hampir semua hal. Program aktual, pada dasarnya adalah biner yang dimuat sistem operasi (OS) ke dalam memori dan dimulai. Segala sesuatu yang lain, mulai dari manajemen memori hingga pertimbangan keamanan adalah beban programmer.
Kode terkelola ditulis dalam salah satu bahasa tingkat tinggi yang dapat dijalankan di atas .NET, seperti C#, Visual Basic, F# dan lainnya. Ketika Anda mengkompilasi kode yang ditulis dalam bahasa tersebut dengan pengkompilasi masing-masing, Anda tidak mendapatkan kode mesin. Anda mendapatkan kode Bahasa Perantara yang runtime bahasa umum kemudian mengkompilasi dan mengeksekusi. C++ adalah satu pengecualian untuk aturan ini, karena juga dapat menghasilkan biner asli dan tidak terkelola yang berjalan pada Windows.
Apa itu "Bahasa Perantara" (atau IL singkatnya)? Ini adalah produk kompilasi kode yang ditulis dalam bahasa .NET tingkat tinggi. Setelah Anda mengkompilasi kode Anda yang ditulis dalam salah satu bahasa ini, Anda akan mendapatkan biner yang terbuat dari IL. Penting untuk dicatat bahwa IL independen dari bahasa tertentu yang berjalan di atas runtime bahasa umum; bahkan ada spesifikasi terpisah untuk itu yang dapat Anda baca jika Anda sangat cenderung.
Setelah Anda menghasilkan IL dari kode tingkat tinggi Anda, Kemungkinan besar Anda ingin menjalankannya. Di sinilah CLR mengambil alih dan memulai proses kompilasi Just-In-Time, atau JIT-ing kode Anda dari IL ke kode mesin yang benar-benar dapat dijalankan pada CPU. Dengan cara ini, CLR tahu persis apa yang dilakukan kode Anda dan dapat mengelolanya secara efektif.
Bahasa Perantara terkadang juga disebut Common Intermediate Language (CIL) atau common intermediate language (CIL).
Tentu saja, CLR memungkinkan melewati batas antara dunia terkelola dan tidak terkelola, dan ada banyak kode yang melakukan itu, bahkan di pustaka kelas .NET. Ini disebut interoperabilitas, atau interop untuk singkatnya. Ketentuan ini akan memungkinkan Anda untuk, misalnya, membungkus pustaka yang tidak dikelola dan memanggilnya. Namun, penting untuk dicatat bahwa setelah Anda melakukan ini, ketika kode melewati batas runtime bahasa umum, manajemen eksekusi yang sebenarnya lagi berada di tangan kode yang tidak dikelola, dan dengan demikian berada di bawah batasan yang sama.
Mirip dengan ini, C# adalah salah satu bahasa yang memungkinkan Anda menggunakan konstruksi yang tidak dikelola seperti pointer langsung dalam kode dengan menggunakan apa yang dikenal sebagai konteks yang tidak aman, yang menunjuk bagian kode yang eksekusinya tidak dikelola oleh CLR.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Pelatihan
Modul
Mulai mempelajari tentang .NET. Pahami apa itu .NET dan cara kerjanya. Buat aplikasi kecil dengan cepat di lingkungan .NET berbasis web.