Bahasa pemrograman dikenalkan pada tahun 1967 oleh
Martin Richards, yaitu BCPL yang merupakan akar bahasa C sekarang ini.
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.
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 ini
Dengan 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 tinggi
Program 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) sedikit
Kata 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.
4. C adalah bahasa pemrograman yang fleksibel
Dengan 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 moduler
Program C ditulis dalam routine yang biasa dipanggil dengan fungsi. Fungsifungsi yang telah kita buat, bisa kita gunakan kembali (reuse) dalam program
ataupun aplikasi lain.