
Tahun
1978, Brian W. Kerninghan & Dennis M. Ritchie dari AT & T
Laboratories mengembangkan bahasa B menjadi bahasa C. Bahasa B yang
diciptakan oleh Ken Thompson sebenarnya merupakan pengembangan dari
bahasa
BCPL (
Basic Combined Programming Language ) yang diciptakan oleh Martin Richard.
Sejak tahun 1980, bahasa
C banyak digunakan pemrogram di Eropa yang sebelumnya menggunakan bahasa
B dan
BCPL. Dalam perkembangannya, bahasa C menjadi bahasa paling populer diantara bahasa lainnya, seperti
PASCAL, BASIC, FORTRAN.
Tahun
1989, dunia pemrograman C mengalami peristiwa penting dengan
dikeluarkannya standar bahasa C oleh American National Standards
Institute (ANSI). Bahasa C yang diciptakan Kerninghan & Ritchie
kemudian dikenal dengan nama ANSI C.
Mulai awal tahun 1980, Bjarne Stroustrup dari AT & T Bell Laboratories mulai
mengembangkan
bahasa C. Pada tahun 1985, lahirlah secara resmi bahasa baru hasil
pengembangan C yang dikenal dengan nama C++. Sebenarnya bahasa C++
mengalami dua tahap evolusi. C++ yang pertama, dirilis oleh AT&T
Laboratories, dinamakan cfront. C++ versi kunoini hanya berupa kompiler
yang menterjemahkan C++ menjadi bahasa C.
Pada evolusi selanjutnya, Borland International Inc. mengembangkan kompiler C++ menjadi sebuah kompiler yang mampu mengubah
C++ langsung menjadi bahasa mesin (assembly). Sejak evolusi ini, mulai tahun 1990
C++ menjadi bahasa berorientasi obyek yang digunakan oleh sebagian besar pemrogram professional.
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.