#
) yang digunakan dalam C#
, secara sekilas terlihat seperti empat buah plus-plus yang disusun sedemikian rupa. Selain itu, di dalam notasi musik, tanda pagar memang menunjukkan nada yang lebih tinggi dibandingkan dengan nada yang tidak memiliki pagar—sehingga C# lebih tinggi dibandingkan C.Seperti halnya bahasa Java, bahasa C# telah membuang beberapa fitur berbahaya dari bahasa C. Memang, pointer belum sepenuhnya "dicabut" dari C#, tapi sebagian besar pemrograman dengan menggunakan bahasa C# tidak membutuhkan pointer secara ekstensif, seperti halnya C dan C++. Persamaan lainnya antara Java dan C# mencakup peran dari kompiler. Biasanya, kompiler menerjemahkan kode sumber (berkas teks yang berisi bahasa pemrograman tingkat tinggi) ke dalam kode mesin. Kode mesin tersebut membentuk sebuah berkas yang dapat dieksekusi (executable atau EXE), yang berupa sebuah berkas yang siap untuk dijalankan kapan saja secara langsung oleh komputer. Tetapi, karena kode mesin hanya diasosiasikan dengan sebuah jenis mesin tertentu saja, berkas yang dapat dieksekusi tersebut hanya dapat berjalan di atas satu jenis komputer saja. Inilah sebabnya mengapa kita tidak dapat menjalankan secara langsung program yang sama yang berjalan di atas sistem operasi Windows di atas sistem operasi GNU/Linux, Apple Macintosh atau sistem operasi lainnya, dan begitu pula sebaliknya.
Alat bantu kompiler yang digunakan oleh C# tidak menerjemahkan kode sumber ke dalam kode mesin, tetapi hanya menerjemahkan ke dalam sebuah bahasa perantara atau Intermediate Language (disingkat menjadi IL), yang merupakan sebuah jenis kode mesin hanya saja telah digeneralisasikan. Ketika kita hendak menjalankan program di atas sebuah mesin, maka IL akan diterjemahkan ke dalam kode mesin secara keseluruhan. Dilihat dari perspektif pengguna, proses translasi ini tidak terlihat. Tetapi, dalam teorinya, ternyata di balik itu terdapat proses dua langkah rumit yang mengizinkan program dengan bahasa IL yang sama untuk berjalan di atas mesin yang berbeda. Selain itu, sebuah program dalam bentuk IL dapat diuji lebih mudah oleh sistem operasi dari keberadaan kode yang merusak atau kode yang mencurigakan. Kemampuan ini telah menjadi lebih penting saat program tersebut dipertukarkan melalui jaringan publik, seperti halnya Internet.
Bahasa C, C++, Java dan C# kini dikenal dengan sebutan "keluarga besar bahasa pemrograman C" atau "bahasa pemrograman berbasis bahasa C". C++ mengandung semua hal yang dimiliki oleh C tetapi memiliki fitur yang tidak dimiliki oleh C, sementara Java dan C# meskipun masih berbasis bahasa C, keduanya tidaklah serta-merta merupakan pengganti dari bahasa C, dan antara bahasa Java dan C# memiliki kesamaan dalam berbagai bidang, ketimbang mirip dengan bahasa C++. Meskipun demikian, semuanya menggunakan banyak sintaksis yang mirip, seperti
void
, int
, struct
, dan lain sebagainya.
Tidak ada komentar:
Posting Komentar