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.
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 C.
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.
Mengapa Memakai Bahasa C ?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.
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. Beberapa alasan mengapa memakai bahasa C adalah terangkum
dibawah:
1. C adalah bahasa pemrograman yang paling populer saat iniDengan banyaknya programmer bahasa C, membawa pengaruh semakin
mudahnya kita menemukan pemecahan masalah yang kita dapatkan
ketika menulis program dalam bahasa C. Pengaruh positif lain adalah
semakin banyaknya kompiler yang dikembangkan untuk berbagai
platform (berpengaruh ke portabilitas).
2. C adalah bahasa pemrograman yang memiliki portabilitas tinggiProgram C yang kita tulis untuk satu jenis platform, bisa kita kompile
dan jalankan di platform lain dengan tanpa ataupun hanya sedikit
perubahan. Ini bisa diwujudkan dengan adanya standarisasi ANSI untuk C.
3. C adalah bahasa pemrograman dengan kata kunci (keyword) sedikitKata kunci disini adalah merupakan fungsi ataupun kata dasar yang
disediakan oleh kompiler suatu bahasa pemrograman. Hal ini membawa
pengaruh semakin mudahnya kita menulis program dengan C. Pengaruh
lain dari sedikitnya kata kunci ini adalah proses eksekusi program C yang
sangat cepat. C hanya menyediakan 32 kata kunci seperti terangkum
dibawah:
- Code:
-
auto | break | case | char | const | continue | default |
do | double | else | enum | extern | float | for |
goto | if | int | long | register | return | short |
signed | sizeof | static | struct | switch | typedef | union |
unsigned | void | volatile | while |
4. C adalah bahasa pemrograman yang fleksibelDengan menguasai bahasa C, kita bisa menulis dan mengembangkan
berbagai jenis program mulai dari operating system, word processor,
graphic processor, spreadsheets, ataupun kompiler untuk suatu bahasa
pemrograman.
5. C adalah bahasa pemrograman yang bersifat modulerProgram C ditulis dalam routine yang biasa dipanggil dengan fungsi.
Fungsi-fungsi yang telah kita buat, bisa kita gunakan kembali (reuse)
dalam program ataupun aplikasi lain.