Pengertian C#(Sharp) dan Sejarahnya
Pengertian C#
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.
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
Delphi dan Visual Basic).
Agar mampu mempromosikan penggunaan
besar-besaran dari bahasa C#, Microsoft, dengan dukungan dari Intel 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
Kelebihan C# :
a.
Flexible: C# program dapat di
eksekusi di mesin computer sendiri atau di transmiskan melalu web dan di
eksekusi di computer lainnya
b.
Powerful: C# memiliki
sekumpulan perintah yang sama dengan C++ yang kaya akan fitur yang lengkap
tetapi dengan gaya bahasa yang lebih diperhalus sehingga memudahkan penggunanya
c.
Easier to use: C# memodifikasi
perintah yang sepenuhnya sama dengan C++ dan memberitahu dimana letak kesalahan
kita bila ada kesalahan dalam aplikasi , hal ini dapat mengurangi waktu kita
dalam mencari error
d.
Visually oriented: The .NET
library code yang digunakan oleh C#
menyediakan bantuan yang
dibutuhkan untuk membuat tampilan yang complicated dengan frames, dropdown ,
tabbed windows, group button , scroll bar , background image , dan lainnya
e.
Secure: Anysemua bahasa
pemprograman yg digunakan untuk kebutuhan internet mesti memiliki security yg
benar-benar aman untuk menghindari aksi kejahatan dari pihak lain seperti
hacker , C# memiliki segudang fitur untuk menanganinya
f.
Memory management lebih mudah
karena adanya garbage collector, yg membebaskan memory scr otomatis shg dapat
mencegah memory leak
g.
Type safe, konversi implisit
dari tipe data hanya mensupport turunan dan operasi dari tipe data yg melebar
(misal dari int ke long, kalo int ke short tidak bisa) dan ini dideteksi pas
compile.
h.
Banyak fungsi yang tersedia di
Base Class Library .NET Framework
i.
.NET Framework berkembang cepat
dan semakin banyak fitur yg membuat produktivitas kita bertambah, misal:linq.
j.
Untuk pengembangan aplikasi
bisnis/umum atau enterprise, penggunaan C# akan lebih produktif daripada bila
menggunakan C++. Bahasa C# masih merupakan turunan dari bahasa C, tetapi
seolah2 dibuat lebih mudah dan produktif seperti Visaul Basic dengan tetap
mempertahankan fleksibilitas dan “power” dari bahasa C.
k.
Kabarnya Microsoft sedang
mengembangkan sistem operasi dengan code name “Singularity” / “Midori” yang
akan menggantikan Windows. Sistem operasi ini, API-nya ditulis dengan C# dan
merupakan managed code seperti .Net Framework saat ini sehingga tentunya akan
mengusung C# sebagai bahasa pemprograman standar. Hal ini akan menambah lagi
kelebihan C#
Kekurangan C# :
Banyaknya operator serta fleksibilitas
penulisan program kadang-kadang membingungkan pemakai
Bagi pemula pada umumnya akan kesulitan
menggunakan pointer.
SUMBER :
Comments
Post a Comment