Pemprograman C#
20.15
C# (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.
Tujuan Desain
Standar European
Computer Manufacturer Association (ECMA) mendaftarkan beberapa tujuan desain
dari bahasa pemrograman C#, sebagai berikut:
·
Bahasa pemrograman C# dibuat sebagai bahasa
pemrograman yang bersifat bahasa pemrograman
general-purpose (untuk tujuan jamak), berorientasi
objek, modern, dan sederhana.
·
Bahasa pemrograman C# ditujukan untuk digunakan dalam mengembangkan
komponen perangkat lunak yang mampu mengambil keuntungan dari lingkungan terdistribusi.
·
Portabilitas programmer sangatlah
penting, khususnya bagi programmer yang
telah lama menggunakanbahasa pemrograman C dan
C++.
·
Dukungan untuk internasionalisasi (multi-language)
juga sangat penting.
·
C# ditujukan agar cocok digunakan untuk menulis program aplikasi baik dalam sistem klien-server (hosted
system) maupun sistem embedded (embedded system),
mulai dari perangkat lunak yang sangat besar yang menggunakan sistem operasi yang canggih hingga kepada
perangkat lunak yang sangat kecil yang memiliki fungsi-fungsi terdedikasi.
·
Meskipun aplikasi C# ditujukan agar bersifat
'ekonomis' dalam hal kebutuhan pemrosesan dan memori komputer, bahasa C# tidak ditujukan
untuk bersaing secara langsung dengan kinerja dan ukuran perangkat lunak yang
dibuat dengan menggunakan bahasa pemrograman C dan bahasa rakitan.
·
Bahasa C# harus mencakup pengecekan jenis (type checking) yang kuat, pengecekan larik (array),
pendeteksian terhadap percobaan terhadap penggunaan Variabel-variabel yang belum
diinisialisasikan, portabilitas kode sumber, dan pengumpulan sampah (garbage collection)
secara otomatis.
Sejarah
Pada akhir dekade
1990-an, Microsoft membuat
program Microsoft Visual J++ sebagai sebuah langkah percobaan untuk
menggunakan Java di dalam sistem operasi Windows
untuk meningkatkan antarmuka dari Microsoft Component Object Model (COM). Akan
tetapi, akibat masalah dengan pemegang hak cipta bahasa pemrograman Java, Sun Microsystems, Microsoft pun menghentikan
pengembangan J++, dan beralih untuk membuat pengganti J++, kompilernya
dan mesin virtualnya sendiri
dengan menggunakan sebuah bahasa pemrograman yang
bersifat general-purpose. Untuk menangani proyek ini, Microsoft
merekrut Anders Helsberg, yang merupakan mantan karyawan Borland yang membuat bahasa Turbo
Pascal, dan Borland Delphi,
yang juga mendesain Windows Foundation Classes (WFC) yang digunakan di dalam
J++. Sebagai hasil dari usaha tersebut, C# pun pertama kali diperkenalkan pada
bulan Juli 2000 sebagai sebuah bahasa pemrograman modern berorientasi objek
yang menjadi sebuah bahasa pemrograman utama di dalam pengembangan di
dalam platform Microsoft .NET
Framework.
Pengalaman Helsberg
sebelumnya dalam pendesain bahasa pemrograman seperti Visual J++, Delphi, Turbo Pascal) dengan mudah dilihat dalam sintaksis bahasa C#, begitu pula halnya
pada inti Common Language Runtime (CLR).
Dari kutipan atas interview dan makalah-makalah
teknisnya ia menyebutkan kelemahan-kelemahan yang terdapat pada bahasa
pemrograman yang umum digunakan saat ini, misalnya C++, Java,Delphi, ataupun Smalltalk. Kelemahan-kelemahan yang
dikemukakannya itu yang menjadi basis CLR sebagai bentukan baru yang menutupi
kelemahan-kelemahan tersebut, dan pada akhirnya memengaruhi desain pada bahasa
C# itu sendiri. Ada kritik yang menyatakan C# sebagai bahasa yang berbagi akar
dari bahasa-bahasa pemrograman lain. [1] Fitur-fitur yang diambilnya dari
bahasa C++ dan Java adalah desain berorientasi objek, seperti garbage collection, reflection, akar
kelas (root class), dan juga penyederhanaan terhadap pewarisan
jamak (multiple inheritance). Fitur-fitur tersebut di dalam C#
kini telah diaplikasikan terhadap iterasi, properti, kejadian (event), metadata,
dan konversi antara tipe-tipe sederhana dan juga objek.
C# didisain untuk
memenuhi kebutuhan akan sintaksis C++ yang lebih ringkas dan Rapid Application Development yang
'tanpa batas' (dibandingkan dengan RAD yang 'terbatas' seperti yang terdapat
pada Delphidan Visual Basic).
Agar mampu
mempromosikan penggunaan besar-besaran dari bahasa C#, Microsoft, dengan
dukungan dariIntel Corporation dan Hewlett-Packard, mencoba mengajukan
standardisasi terhadap bahasa C#. Akhirnya, pada bulan Desember 2001,
standar pertama pun diterima oleh European Computer Manufacturers Association
atau Ecma International (ECMA), dengan nomor
standar ECMA-334. Pada Desember 2002,
standar kedua pun diadopsi oleh ECMA, dan tiga bulan kemudian diterima
oleh International Organization for
Standardization (ISO), dengan nomor
standar ISO/IEC 23270:2006.
Fitur-fitur bahasa
C# kadang-kadang
dapat disebutkan sebagai bahasa pemrograman yang paling mencerminkan dasar dari
CLR dimana semua program-program .NET berjalan, dan bahasa ini sangat
bergantung pada kerangka tersebut sebab ia secara spesifik didisain untuk
mengambil manfaat dari fitur-fitur yang tersedia pada CLR.
0 komentar