C#, kekuatan baru dunia pemrograman


imagesC# (dibaca: C sharp) merupakan sebuah bahasa pemrograman yang berorientasi objek yang dikembangkan oleh Microsoft sebagai bagian dari inisiatif kerangka .NET Framework. Bahasa pemrograman ini dibuat berbasiskan bahasa C++ yang telah dipengaruhi oleh aspek-aspek ataupun fitur bahasa yang terdapat pada bahasa-bahasa pemrograman lainnya seperti Java, Delphi, Visual Basic, dan lain-lain) dengan beberapa penyederhanaan. Menurut standar ECMA-334 C# Language Specification, nama C# terdiri atas sebuah huruf Latin C (U+0043) yang diikuti oleh tanda pagar yang menandakan angka # (U+0023). Tanda pagar # yang digunakan memang bukan tanda kres dalam seni musik (U+266F), dan tanda pagar # (U+0023) tersebut digunakan karena karakter kres dalam seni musik tidak terdapat di dalam keyboard standar.

Munculnya C#

Pada tahun 2000, Microsoft pun merilis bahasa C# (dibaca C Sharp), yang secara umum ‎didesain oleh Anders Hejlsberg, yang juga lagi-lagi melanjutkan penamaan yang diplesetkan. Simbol ‎pagar (#) 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 In‎termediate 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.‎

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: