Bahasa C# adalah sebuah bahasa pemrograman modern yang bersifat general-purpose, berorientasi objek, yang dapat digunakan untuk membuat program di atas arsitektur Microsoft .NET Framework. Bahasa C# ini memiliki kemiripan dengan bahasa Java, C dan C++ (selengkapnya dapat dilihat pada Sejarah Bahasa C#).
Bahasa pemrograman ini dikembangkan oleh sebuah tim pengembang di Microsoft yang dipimpin oleh Anders Hejlsberg, seorang yang telah lama malang melintang di dunia pengembangan bahasa pemrograman karena memang ialah yang membuat Borland Turbo Pascal, Borland Delphi, dan juga Microsoft J++.
Kini, C# telah distandarisasi oleh European Computer Manufacturer Association (ECMA) dan juga International Organization for Standardization (ISO) dan telah menginjak versi 3.0 yang mendukung beberapa fitur baru semacam Language Integrated Query (LINQ) dan lain-lainnya.
Untuk dekade-dekade awal perkembangan komputer digital, hubungan antara perangkat keras dan perangkat lunak sangatlah erat. Setiap mesin memiliki instruksinya sendiri-sendiri yang kadang tidak cocok dengan mesin lainnya. Untuk mentransfer sebuah program dari satu mesin ke mesin lainnya yang lebih baru dan tentunya lebih cepat, program tersebut harus ditulis ulang dengan semua kode-kodenya yang baru. Nah, kode-kode yang hanya dimiliki oleh mesin tertentu ini dinamakan dengan kode mesin (machine code) atau bahasa mesin (machine language). Untuk lebih cepat mengingat instruksi-instruksi dalam kode mesin, para desainer pun kemudian membentuk sebuah cara dengan menyamakannya dengan sebuah kata tertentu (umumnya berupa singkatan dalam bahasa Inggris), yang kemudian berevolusi menjadi bahasa rakitan atau assembly language.
Program-program komputer yang dibangun dengan menggunakan bahasa FORTRAN, COBOL, BASIC, atau bahasa tingkat tinggi lainnya pada dasarnya adalah berisi berkas teks yang terdiri atas sekumpulan pernyataan yang ditulis di dalam bahasa pemrograman tertentu, dengan beberapa peraturan sintaksis, semantik dan gramatika yang didefinisikan di dalam bahasa pemrograman. Karena komputer hanya dapat menjalankan machine code, maka program yang ditulis di dalam bahasa pemrograman tingkat tinggi harus terlebih dahulu diterjemahkan ke dalam machine code sebelum dieksekusi. Proses penerjemahan ini dapat dilakukan baik itu dengan menggunakan teknik translasi (alat bantunya disebut dengan translator), teknik interpretasi (alat bantunya disebut interpreter), atau dengan menggunakan teknik kompilasi (alat bantunya disebut dengan compiler). Teknik translasi merupakan teknik kuno yang menerjemahkan keseluruhan kode bahasa pemrograman menjadi machine code; teknik kompilasi merupakan evolusi dari teknik translasi di mana kode dalam bahasa pemrograman dipisah-pisah ke dalam beberapa berkas untuk kemudian diterjemahkan dan dijadikan machine code, sementara teknik interpretasi merupakan sebuah teknik di mana eksekusi dan translasi dilakukan secara berbarengan (bersama-sama).
Bahasa pemrograman lainnya yang dikembangkan selama tahun 1950-an tapi sudah tidak digunakan lagi adalah ALGOL (akronim dari Algorithmic Programming Language). ALGOL memang sudah tidak digunakan lagi, tapi memberikan dampak yang signifikan untuk beberapa bahasa pemrograman lainnya di dalam sejarah perkembangan bahasa pemrograman komputer. ALGOL didesain pertama kali pada akhir tahun 1950-an oleh sebuah komite internasional, untuk kemudian diperbaiki pada tahun 1960 dan 1968. Meskipun saat ini bahasa tersebut mati seolah lenyap ditelan bumi, jiwanya masih hidup di dalam bahasa pemrograman tingkat tinggi yang sekarang banyak digunakan, seperti Pascal, PL/1, dan Bahasa C.
Meskipun populer, bahasa C terkesan lebih rumit jika dibandingkan dengan bahasa pemrograman lainnya, khususnya jika digunakan oleh para pemrogram pemula. Ketika ALGOL dan banyak turunan ALGOL menggunakan kata-kata yang mudah diingat seperti
Meskipun bahasa C masih merupakan bahasa pemrograman yang populer, bahasa tersebut saat ini dapat dikatakan telah "kadaluwarsa". Saat ini, bahasa tersebut diklasifikasikan ke dalam "bahasa pemrograman prosedural tradisional" (traditional procedural programming language), sebuah istilah yang merujuk kepada struktur program-program dalam bahasa C. Umumnya sebuah program bahasa C terdiri atas banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang setiap prosedur tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu atau merupakan implementasi dari algoritma tertentu. Prosedur-prosedur tersebut dapat bekerja dengan data dalam beberapa cara. Data adalah kumpulan angka atau teks atau bahkan gabungan antara keduanya. Dalam bahasa pemrograman prosedural tradisional, kodelah yang memproses data menjadi output.
Bahasa pemrograman ini dikembangkan oleh sebuah tim pengembang di Microsoft yang dipimpin oleh Anders Hejlsberg, seorang yang telah lama malang melintang di dunia pengembangan bahasa pemrograman karena memang ialah yang membuat Borland Turbo Pascal, Borland Delphi, dan juga Microsoft J++.
Kini, C# telah distandarisasi oleh European Computer Manufacturer Association (ECMA) dan juga International Organization for Standardization (ISO) dan telah menginjak versi 3.0 yang mendukung beberapa fitur baru semacam Language Integrated Query (LINQ) dan lain-lainnya.
[sunting] Sejarah perkembangan bahasa pemrograman C#
Sebelum tahun 1970-an (atau lebih lama), menggunakan komputer seperti saat ini—dari mulai mengetik hingga main game komputer—merupakan sesuatu hal yang mustahil. Revolusi yang terjadi di dalam dunia komputer membutuhkan dua tahap agar dapat sampai kepada zaman seperti sekarang, yakni:- saat komputer dibangun untuk membantu para ilmuwan untuk menyelesaikan tugas-tugas ilmiahnya, dan
- turunnya harga komputer secara signifikan dan dapat digunakan oleh para pengguna yang bukan programmer, yang berlangsung beberapa dekade setelah tahap pertama selesai.
[sunting] Awal-awal pemrograman komputer digital
Komputer digital yang dapat diprogram pertama kali dibuat pada tahun 1930-an. Maksud dari "komputer digital" di sini adalah bahwa komputer-komputer tersebut bekerja dengan menggunakan angka-angka diskrit (yang memiliki batasan yang jelas), seperti halnya 0, 1, nilai π (3.14159) dan nilai-nilai angka lainnya. Sementara itu, maksud dari "komputer yang dapat diprogram" adalah komputer dapat melakukan operasi-operasi matematika dengan berdasarkan instruksi-instruksi yang disebut dengan program. Untuk beberapa tahun semenjak itu, program-program komputer ditulis di atas kertas yang dilubangi (disebut sebagai punched-card) atau medium-medium lainnya. Akhirnya, perangkat fisik komputer pun disebut sebagai perangkat keras (hardware), sementara instruksi-instruksi yang ditulis di atas punched card atau medium lainnya dikenal dengan perangkat lunak (software). Dinamai "perangkat lunak", karena memang memiliki sifat mudah diubah. Kita tidak harus membangun komputer secara keseluruhan untuk melakukan jenis perhitungan yang berbeda. Sementara itu, perangkat keras didesain untuk melakukan beberapa jenis operasi aritmetika dan logika. Operasi mana yang dapat dilakukan oleh perangkat keras dan bagaimana urutan operasi tersebut, diatur oleh kode-kode program. Pada saat program dijalankan, komputer juga disebut sedang "mengeksekusi program", yakni saat komputer membaca kode dan melakukan instruksi yang disuruhkan kepadanya.Untuk dekade-dekade awal perkembangan komputer digital, hubungan antara perangkat keras dan perangkat lunak sangatlah erat. Setiap mesin memiliki instruksinya sendiri-sendiri yang kadang tidak cocok dengan mesin lainnya. Untuk mentransfer sebuah program dari satu mesin ke mesin lainnya yang lebih baru dan tentunya lebih cepat, program tersebut harus ditulis ulang dengan semua kode-kodenya yang baru. Nah, kode-kode yang hanya dimiliki oleh mesin tertentu ini dinamakan dengan kode mesin (machine code) atau bahasa mesin (machine language). Untuk lebih cepat mengingat instruksi-instruksi dalam kode mesin, para desainer pun kemudian membentuk sebuah cara dengan menyamakannya dengan sebuah kata tertentu (umumnya berupa singkatan dalam bahasa Inggris), yang kemudian berevolusi menjadi bahasa rakitan atau assembly language.
[sunting] Munculnya bahasa pemrograman tingkat tinggi
Pada awal tahun 1950-an, para desainer pun mencoba untuk mendesain bahasa komputer yang umum yang program hasilnya tidak hanya dapat berjalan di mesin-mesin tertentu saja. Muncullah bahasa pemrograman tingkat tinggi atau high-level programming language. Disebut demikian untuk membedakannya dengan kode mesin yang disebut sebagai bahasa pemrograman tingkat rendah atau low-level programming language. Tren yang ada adalah kemunculan beberapa bahasa pemrogramTeks tebalan seperti FORTRAN, COBOL, BASIC, dan masih banyak lagi yang lainnya. Beberapa bahasa pemrograman tersebut masih terus-terusan digunakan hingga saat ini. Sebagai contoh, FORTRAN (akronim dari Formula Translator) masih sering digunakan oleh para ilmuwan dan para insinyur bidang teknik; COBOL (akronim dari Common Business-Oriented Language) juga sering digunakan dalam institusi-institusi finansial; dan bahasa BASIC (akronim dari Beginner’s All-purpose Symbolic Instruction Code) juga masih banyak digunakan hingga saat ini, meskipun terjadi perubahan yang sangat signifikan dari ketika bahasa tersebut dipublikasikan pertama kali pada tahun 1963.Program-program komputer yang dibangun dengan menggunakan bahasa FORTRAN, COBOL, BASIC, atau bahasa tingkat tinggi lainnya pada dasarnya adalah berisi berkas teks yang terdiri atas sekumpulan pernyataan yang ditulis di dalam bahasa pemrograman tertentu, dengan beberapa peraturan sintaksis, semantik dan gramatika yang didefinisikan di dalam bahasa pemrograman. Karena komputer hanya dapat menjalankan machine code, maka program yang ditulis di dalam bahasa pemrograman tingkat tinggi harus terlebih dahulu diterjemahkan ke dalam machine code sebelum dieksekusi. Proses penerjemahan ini dapat dilakukan baik itu dengan menggunakan teknik translasi (alat bantunya disebut dengan translator), teknik interpretasi (alat bantunya disebut interpreter), atau dengan menggunakan teknik kompilasi (alat bantunya disebut dengan compiler). Teknik translasi merupakan teknik kuno yang menerjemahkan keseluruhan kode bahasa pemrograman menjadi machine code; teknik kompilasi merupakan evolusi dari teknik translasi di mana kode dalam bahasa pemrograman dipisah-pisah ke dalam beberapa berkas untuk kemudian diterjemahkan dan dijadikan machine code, sementara teknik interpretasi merupakan sebuah teknik di mana eksekusi dan translasi dilakukan secara berbarengan (bersama-sama).
Bahasa pemrograman lainnya yang dikembangkan selama tahun 1950-an tapi sudah tidak digunakan lagi adalah ALGOL (akronim dari Algorithmic Programming Language). ALGOL memang sudah tidak digunakan lagi, tapi memberikan dampak yang signifikan untuk beberapa bahasa pemrograman lainnya di dalam sejarah perkembangan bahasa pemrograman komputer. ALGOL didesain pertama kali pada akhir tahun 1950-an oleh sebuah komite internasional, untuk kemudian diperbaiki pada tahun 1960 dan 1968. Meskipun saat ini bahasa tersebut mati seolah lenyap ditelan bumi, jiwanya masih hidup di dalam bahasa pemrograman tingkat tinggi yang sekarang banyak digunakan, seperti Pascal, PL/1, dan Bahasa C.
[sunting] Munculnya C
Bahasa C dilahirkan di Bell Telephone Laboratories (atau sering disebut sebagai Bell Labs saja). Sulit membayangkan dunia modern saat ini jika tidak ada pengaruh dari Bell Labs. Pada tahun 1947, transistor ditemukan di Bell Labs, dan juga sistem operasi yang sekarang banyak digunakan di dalam komputer korporat (UNIX) juga dibuat di sana. Untuk beberapa tahun, ada sebuah bahasa pemrograman yang sangat dekat dengan sistem operasi UNIX, yang disebut dengan bahasa C, yang didesain oleh Dennis Ritchie dan Brian Kernighan. Mengapa disebut hanya C saja? Bahasa C disebut demikian mengingat bahasa tersebut adalah turunan dari bahasa B, dan bahasa B merupakan pemendekan dari Basic CPL, sementara CPL sendiri adalah sebuah bahasa pemrograman yang merupakan singkatan dari Combined Programming Language.Meskipun populer, bahasa C terkesan lebih rumit jika dibandingkan dengan bahasa pemrograman lainnya, khususnya jika digunakan oleh para pemrogram pemula. Ketika ALGOL dan banyak turunan ALGOL menggunakan kata-kata yang mudah diingat seperti
BEGIN
dan END
untuk membatasi sebuah seksi dalam instruksi program, bahasa C malah menggunakan tanda kurung keriting ({
dan }
). Beberapa operasi juga disederhanakan, bahkan banyak singkatannya yang cukup membingungkan para programmer pemula. Contoh yang sering digunakan adalah printf
, dan scanf
. Meskipun demikian, program-program yang ditulis dalam bahasa C seringnya lebih efisien dibandingkan dengan bahasa pemrograman lainnya, yang artinya program-program dalam bahasa C diterjemahkan ke dalam machine code dalam jumlah yang relatif lebih sedikit jika dibandingkan dengan program yang ditulis dalam bahasa pemrograman lainnya. Salah satu bagian yang paling canggih dari bahasa C adalah bahwa bahasa C memiliki "pointer", selain tentunya "variabel" dan "konstanta". Istilah Pointer dalam bahasa pemrograman merujuk kepada alamat-alamat memori yang mengizinkan para programmer untuk melakukan beberapa tugas secara jauh lebih efisien, dengan melibatkan bit, byte, dan word memori. Karenanya, banyak orang menyebut bahasa C sebagai "High-level Assembly language, atau bahasa rakitan tingkat tinggi.Meskipun bahasa C masih merupakan bahasa pemrograman yang populer, bahasa tersebut saat ini dapat dikatakan telah "kadaluwarsa". Saat ini, bahasa tersebut diklasifikasikan ke dalam "bahasa pemrograman prosedural tradisional" (traditional procedural programming language), sebuah istilah yang merujuk kepada struktur program-program dalam bahasa C. Umumnya sebuah program bahasa C terdiri atas banyak prosedur (juga sering disebut sebagai fungsi/function atau subrutin/subroutine), yang setiap prosedur tersebut merupakan bagian dari kode yang melakukan beberapa tugas tertentu atau merupakan implementasi dari algoritma tertentu. Prosedur-prosedur tersebut dapat bekerja dengan data dalam beberapa cara. Data adalah kumpulan angka atau teks atau bahkan gabungan antara keduanya. Dalam bahasa pemrograman prosedural tradisional, kodelah yang memproses data menjadi output.
0 komentar:
Posting Komentar