From B to a language with types
The letter C marks a practical lineage, not a grand naming scheme. Before C, Bell Labs programmer Ken Thompson had created B, a compact language influenced by an earlier one called BCPL. B was useful for early Unix work, but it offered little way to describe different kinds of data. As Bell Labs moved Unix development to a newer computer, the PDP-11, Dennis Ritchie extended B with data types and other features better suited to that machine. The new language became C.
A type tells a program what kind of value it is handling—such as a character or a number—and helps determine how that value is stored and used. C gave programmers more control over those details without forcing them to write every operation in machine code, the low-level instructions a processor executes directly.
Why C traveled beyond Bell Labs
That balance mattered for operating systems. C could express operations close to the hardware, yet its programs were easier to revise and move than a system written entirely in machine-specific code. In 1973, much of Unix was rewritten in C, making it far more practical to adapt the operating system to different computers.
The same combination—direct control and reusable software—helped C spread into compilers, embedded devices, and other foundational programs. Financial systems are among the kinds of infrastructure built from such software, though no single language accounts for the whole system. C’s influence grew from a modest engineering choice: improve B for a new machine, then discover that the resulting language could travel to many others.






