C merupakan pengembangan dari bahasa pemrograman B
yang disusun oleh Ken Thompson pada tahun 1970 untuk
mesin DEC PDP-7 yang menggunakan sistem operasi UNIX.
Bahasa pemrograman B itu sendiri diadaptasikan dari bahasa
pemrograman BCPL (Basic Combined Programming
Language) yang disusun oleh Martin Richards tahun 1967.
C disusun oleh Dennis M. Ritchie pada tahun 1972. Tidak
lama setelah itu, C diimplementasikan oleh Ritchie dalam
menuliskan kembali sistem operasi UNIX yang sebelumnya
ditulis dalam bahasa Assembly DEC PDP-11. Pada mulanya C
banyak dipakai untuk pemrograman sistem di laboratoriumlaboratorium
penelitian dan universitas-universitas di Amerika
Serikat. Standar acuan yang digunakan adalah standar yang
dikeluarkan bersama sistem operasi UNIX System 5 dan
dijabarkan dalam buku The C Programming Language oleh
Brian W. Kernighan dan Dennis M. Ritchie (Prentice-Hall,
1978). Acuan ini dikenal dengan sebutan K&R Standard.
Kepopuleran C ini pada mulanya tidak dapat dilepaskan
dari kepopuleran sistem operasi UNIX yang merupakan induk
dan aplikasi utama pertamanya. Dalam waktu yang singkat C
telah menggantikan pemrograman assembler dalam
lingkungan UNIX. Tetapi selanjutnya C berkembang ke arah
status yang mandiri dan digunakan dalam pengembangan
berbagai perangkat lunak aplikasi komersial. Banyak pula
perusahaan-perusahaan lain yang mengembangkan kompilerkompiler
C untuk lingkungan non-UNIX. Hingga awal tahun
80-an berbagai versi C untuk mikrokomputer telah banyak
beredar di pasar perangkat lunak. Tidaklah salah jika dikatakan
bahwa versi-versi C untuk mikrokomputer inilah yang
memegang peranan yang cukup besar dalam menunjang
kepopulerannya.
Di antara versi C untuk mikrokomputer yang umum dikenal
adalah: Turbo C® dari Borland International, Microsoft® C dari
Microsoft Corporation, Microsoft QuickC® juga dari Microsoft
Corporation, LATTICE® C dari Lattice Incorporation, dan
Eco-C™ dari Ecosoft Incorporation. Di lingkungan Linux,
kompiler C yang lazim digunakan adalah GNU C, sebuah
kompiler open source yang dapat digunakan secara bebas di
bawah lisensi GNU Public Licence.
Beragamnya versi C yang beredar di pasaran
melatarbelakangi dibentuknya panitia standar X3J11 pada
permulaan tahun 1983 oleh American National Standards
Institute (ANSI®) untuk menyeragamkan definisi C. Panitia
standararisasi ini selain mempertahankan sebanyak mungkin
bentuk asli C yang terdapat dalam K&R C, juga memperbaiki
dan menambah fungsionalitas bahasa yang tidak terdapat di
dalam bentuk orisinilnya. Hasil kerja panitia standar X3J11
kemudian diterima pada bulan Desember 1989 dan dituangkan
dalam draf standar ANSI C: Programming Language C.
Pada perkembangan selanjutnya, C diarahkan ke
pemrograman berorientasi objek yang dikenal dengan nama
C++, bahasa pemrograman yang dianggap sebagai superset C.
Pemrograman berorientasi objek adalah metodologi
pemrograman yang menggunakan pendekatan enkapsulasi
(pengkapsulan atau pembungkusan). Sebenarnya konsep
enkapsulasi sudah sejak lama dikenal dalam ilmu komputer
karena pendekatan ini diperlukan untuk melakukan
dekomposisi terhadap sistem-sistem yang besar menjadi subsub
sistem dalam paket lebih kecil yang dapat lebih mudah
dikembangkan, dipelihara dan dipindahkan. Bahasa-bahasa
pemrograman dan sistem-sistem yang berorientasi-objek
menerapkan konsep enkapsulasi itu dalam bentuk objek dan
kelas.
Konstruksi pemrograman berbentuk objek bermula dari
Simula, sebuah bahasa untuk pemrograman simulasi
komputer. Hal ini tidak mengherankan karena memodelkan
objek-objek simulasi secara langsung sebagai objek
perangkat lunak dapat dilakukan secara alamiah. Yang lebih
mengherankan adalah bahwa objek-objek perangkat lunak itu
bukan hanya dapat bermanfaat untuk pemrograman simulasi,
tetapi juga untuk pengembangan prototyping dan aplikasi.
Berdasarkan konsep kelas objek ini dikembangkan sebuah
bahasa pemrograman yang bernama Smalltalk sebagai salah
satu bahasa pemrograman pertama yang menerapkan konsep
pemrograman berorientasi objek.
Karena pemrograman berorientasi-objek terutama sekali
dipopulerkan oleh upaya pengembangan Smalltalk, maka
definisi yang banyak diterima orang tentang bahasa
pemrograman berorientasi-objek adalah bahasa-bahasa yang
mendukung kelas objek dan pewarisan kelas. Definisi lain
yang lebih longgar tentang bahasa pemrograman berorientasi
objek adalah setiap bahasa pemrograman yang menyediakan
mekanisme untuk memanfaatkan enkapsulasi.
Beberapa versi mikrokomputer untuk bahasa pemrograman
C berorientasi objek yang pernah dan sedang beredar di
pasaran di antaranya adalah: Turbo C++®, Zortech C®,
Borland C/C++®, dan Microsoft® Visual C++.
Tidak ada komentar:
Posting Komentar