We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
The B Programming Language | Vintage Computing Festival Berlin 2024
Learn about B, the minimalist systems programming language that bridged BCPL and C, enabled early Unix development on tiny machines, and influenced modern language design.
-
B was created by Ken Thompson as a simplified programming language inspired by BCPL and Fortran for early Unix development
-
Initially implemented on PDP-7 and PDP-11 computers with severe memory constraints (4K words/8KB)
-
The language had minimal features - only word-sized data type, no structs, limited operators, and simple control flow
-
B used interpreted/threaded code execution rather than direct machine code compilation, making it more portable across platforms
-
The compiler was small (around 900 lines) and could bootstrap itself by being written in B
-
B evolved into C when Dennis Ritchie added byte-level operations, structs, and other features needed for systems programming
-
Original B compiler source was lost but binaries were recovered from old DEC tapes, allowing reconstruction
-
B compilation happened in two stages: BC (compiler) generated intermediate code, followed by BA (assembler)
-
The language used a stack-based execution model for expressions and function calls
-
Arrays in B were true pointers that could be assigned, unlike C where arrays decay to pointers
-
B remains an excellent teaching language for learning about compilers due to its simplicity
-
Recently discovered “new B” variants added features like threaded code generation and byte operations before evolving into C