BCA Sem 1 | Unit 1 | Computer Concepts & C Programming
History & Overview of C Language
Origin, Dennis Ritchie, Evolution from ALGOL to ANSI C, and Core Features
C did not appear overnight. It was derived from earlier languages like ALGOL, BCPL, and B language to overcome their performance and feature limitations:
ALGOL
Introduced the concept of structured programming to computer science.
Martin Richards
Basic Combined Programming Language — typeless language focused on systems.
Ken Thompson
Derived directly from BCPL; used to develop early versions of UNIX.
Why C Language Dominates Computing
To ensure C programs run reliably across all computer systems, standards bodies formalised the syntax over the decades:
| Year | Language / Standard | Developer / Organization | Key Feature |
|---|---|---|---|
1960 | ALGOL 60 | International Committee | First structured programming language |
1967 | BCPL | Martin Richards | Typeless system development language |
1970 | B Language | Ken Thompson | Used to build early UNIX OS |
1972 | Traditional C | Dennis Ritchie | Derived from B with data types added |
1978 | K&R C | Kernighan & Ritchie | First published standard reference book |
1989 | ANSI C (C89) | ANSI Committee | First official industry standard |
1999 | C99 Standard | ISO Standard Body | Added inline functions & new data types |
- Breaks complex problems into smaller functions
- Uses block structures (`{ }`) for clean control flow
- Easy to debug and maintain code base
- Direct machine code compilation
- Minimal runtime overhead compared to interpreted code
- Native pointer support for memory addresses
- Code written on Windows can compile on Linux/Mac
- Hardware independent logic design
- Standardised compiler support worldwide
Here is how a standard C source code document is organized:
Preprocessor Phase
Processes header directives (`#include`), expands macros, and strips code comments.
Compilation Phase
Translates clean source code into assembly instructions specific to target hardware.
Assembly Phase
Converts assembly code instructions into machine relocatable binary Object Code (`.obj` or `.o`).
Linking Phase
Combines library object code with program object code to build final `.exe` executable.
- Creator: Dennis Ritchie at AT&T Bell Laboratories (USA) in 1972.
- Origin Purpose: Originally developed to build the UNIX Operating System.
- Ancestry Chain: ALGOL 60 → BCPL (Martin Richards) → B Language (Ken Thompson) → C Language.
- K&R C: Brian Kernighan and Dennis Ritchie published the first C reference book in 1978.
- ANSI C Standard: Established in 1989 (C89) to standardise C worldwide.
- Middle-Level Classification: Supports both high-level control constructs and low-level memory address manipulation (Pointers).
- File Extensions: Source file is saved with `.c` and compiled output is saved with `.exe` (Windows) or binary.