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

Popular posts from this blog

DHCP Server menggunakan AccesPoint

Pembuatan Jaringan Client Server dan Jaringan DHCP Router pada Cisco Packet Tracer (Langkah dan Penjelasan)

Pengenalan Cisco Packet Tracer dan Membuat Jaringan Sederhana