100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
C

History and Evolution of C

Trace C's evolution from Dennis Ritchie's 1972 creation at Bell Labs through K&R C, ANSI C, and modern C99/C11 standards.

Introduction to CBeginner7 min readJul 7, 2026
Analogies

1. Introduction

The C programming language was designed by Dennis Ritchie at Bell Laboratories between 1969 and 1973, primarily to rewrite and support the Unix operating system. It evolved from earlier languages named B (created by Ken Thompson) and BCPL (created by Martin Richards), inheriting their concise syntax while adding data types and richer control structures.

🏏

Cricket analogy: Just as Sachin Tendulkar refined techniques passed down from earlier greats like Sunil Gavaskar, Dennis Ritchie refined B and BCPL at Bell Labs into C, inheriting concise style while adding richer structure.

Understanding C's history explains many of its design decisions — its closeness to hardware, minimal runtime, and portability — all of which trace back to its original purpose: writing an efficient, portable operating system.

🏏

Cricket analogy: A fast bowler's short, aggressive run-up style traces back to why they were trained on quick pitches early on; similarly, C's closeness to hardware and minimal runtime trace back to its original Unix-writing purpose.

3. Explanation

Timeline of key milestones: (1) 1969-1970 — Ken Thompson develops the B language at Bell Labs, itself derived from BCPL, used to write early Unix utilities. (2) 1972 — Dennis Ritchie develops C by adding a type system (int, char, etc.) and structures to B, addressing B's lack of data types. (3) 1973 — Unix's kernel is rewritten in C, proving the language's suitability for systems programming and making Unix far more portable across hardware.

🏏

Cricket analogy: Like tracing a team's rise through milestone matches — a 1975 World Cup debut, then a 1983 title win, then a 2011 home triumph — C's timeline runs from Thompson's 1969 B language through Ritchie's 1972 type system to the 1973 Unix kernel rewrite in C.

(4) 1978 — Brian Kernighan and Dennis Ritchie publish 'The C Programming Language,' whose first edition described what is informally called 'K&R C,' the de facto standard for years. (5) 1989/1990 — The American National Standards Institute standardizes the language as ANSI C (also called C89), later adopted internationally as ISO C90, adding function prototypes and the void type among other improvements. (6) 1999 — The C99 standard introduces features like inline functions, the // single-line comment, variable-length arrays, and the bool type via stdbool.h. (7) 2011 — C11 adds multithreading support, improved Unicode handling, and anonymous structures/unions. Later revisions include C17 (a bug-fix update) and C23.

🏏

Cricket analogy: Like cricket's rulebook evolving from the 1980s straight through to today's DRS-era ICC playing conditions, C's standards evolved from 1978's K&R book through ANSI C89, C99, C11, to C17 and C23, each adding refinements.

Common exam mistake: Do not confuse K&R C with ANSI C. K&R C (1978) refers to the language as documented in the first edition of Kernighan & Ritchie's book, before formal standardization. ANSI C (1989) is the first official standardized version, adding function prototypes that K&R C lacked.

Quick memory aid for standards: B → C (1972) → K&R C (1978) → ANSI C / C89 / C90 (1989-90) → C99 → C11 → C17 → C23.

6. Key Takeaways

  • Dennis Ritchie created C at Bell Labs, finalizing it around 1972.
  • C evolved from Ken Thompson's B language, which itself derived from BCPL.
  • C was created primarily to rewrite the Unix operating system for portability.
  • K&R C (1978) was the informal standard before ANSI standardized it as C89/C90 in 1989-90.
  • Later standards C99 and C11 added modern features like inline functions, bool type, and threading support.
  • C's design goals — efficiency, portability, and low-level control — still shape the language today.

Practice what you learned

Was this page helpful?

Topics covered

#CProgrammingStudyNotes#Programming#HistoryAndEvolutionOfC#History#Evolution#Explanation#Key#StudyNotes#SkillVeris#ExamPrep