Boleh dikatakan bahwa akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Kemudian berdasar pada bahasa BCPL ini Ken Thompson yang bekerja di Bell Telephone Laboratories (Bell Labs) mengembangkan bahasa B pada tahun 1970. Saat itu bahasa B telah berhasil diimplementasikan di komputer DEC PDP-7 dengan operating system (OS) UNIX. Pada tahun 1972, peneliti lain di Bell Labs bernama Dennis Ritchie menyempurnakannya menjadi bahasa 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. 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.
Pada tahun 1978, Dennis Ritchie bersama dengan Brian Kernighan mempublikasikan buku yang kemudian menjadi legenda dalam sejarah perkembangan bahasa C, yang berjudul The C Programming Language. Buku ini diterbitkan oleh Prentice Hall, dan pada saat ini telah diterjemahkan dalam berbagai bahasa di dunia. Boleh dikatakan bahwa buku ini adalah buku yang paling banyak direfer orang dan dijadikan buku panduan tentang pemrograman bahasa C sampai saat ini. Teknik dan gaya penulisan bahasa C yang merefer kepada buku ini kemudian terkenal dengan sebutan K&R C atau Classic C atau Common.
Seiring dengan berkembang pesatnya bahasa C, banyak vendor mengembangkan kompiler C menurut versi masing-masing. Hal ini menggerakkan ANSI (American National Standards Institute) pada tahun 1983 untuk membuat suatu komite yang kemudian diberi nama X3J11, yang betujuan untuk membuat definisi standar bahasa C yang lebih modern dan komprehensif, dengan memperbaiki syntax dan grammar bahasa C. Usaha ini berhasil diselesaikan 5 tahun kemudian, yaitu ditandai dengan lahirnya standard ANSI untuk bahasa C yang kemudian terkenal dengan sebutan ANSI C pada tahun 1988.
Sampai saat ini, bahasa C telah berhasil digunakan untuk mengembangkan berbagai jenis permasalahan pemrograman, dari level operating system (unix, linux, ms dos, dsb), aplikasi perkantoran (text editor, word processor, spreadsheet, dsb), bahkan sampai pengembangan sistem pakar (expert system). Kompiler C juga telah tersedia di semua jenis platform komputer, mulai dari Macintosh, UNIX, PC, Micro PC, sampai super komputer. 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. C bisa disebut bahasa pemrograman tingkat menengah (middle level programming language). Arti tingkat (level) disini adalah kemampuan mengakses fungsi-fungsi dan perintah-perintah dasar bahasa mesin/hardware (machine basic instruction set). Semakin tinggi tingkat bahasa pemrograman (misalnya: java), semakin mudahlah bahasa pemrograman dipahami manusia, namun membawa pengaruh semakin berkurang kemampuan untuk mengakses langsung instruksi dasar bahasa mesin.
Demikian juga sebaliknya dengan bahasa pemrograman tingkat rendah (misalnya: assembler), yang semakin sulit dipahami manusia dan hanya berisi perintah untuk mengakses bahasa mesin. Dalam perspektif mudahnya dipahami manusia, C bisa digolongkan dalam bahasa tingkat tinggi, namun C juga menyediakan kemampuan yang ada pada bahasa tingkat rendah, misalnya operasi bit, operasi byte, pengaksesan memori, dsb.
0 komentar:
Posting Komentar