TLDR: BCPL is a programming language that was designed to make it easy to write compilers for other languages. It introduced features that are now common in modern programming languages, like using curly braces to delimit code blocks. BCPL was created in 1967 by Martin Richards at the University of Cambridge. It influenced the development of the B and C programming languages.
BCPL, which stands for "Basic Combined Programming Language," is a procedural, imperative, and structured programming language. It was originally intended for writing compilers for other languages, but it is no longer widely used. However, its influence can still be seen in other programming languages.
One of the notable features of BCPL is its use of curly braces to delimit code blocks. This is a common feature in many modern programming languages. BCPL was also the first programming language to use braces in this way.
BCPL was designed to be simple and portable. It was split into two parts: the front end, which parsed the source code and generated intermediate code, and the back end, which translated the intermediate code into machine code for the target machine. This made it easy to port the compiler to different machines, as only a small portion of the code needed to be rewritten.
BCPL had only one data type, called a "word," which was a fixed number of bits. This made it easy to represent any valid storage address. However, this choice caused problems when BCPL was used on machines with different word sizes or byte-oriented hardware.
BCPL also had a unique way of handling bindings between different compilation units. Instead of using global variables, BCPL used a global vector to store shared data. This made it easy to synchronize data between different compilation units and allowed for dynamic loading of modules.
BCPL had a significant influence on the development of the B and C programming languages. B was a simplified version of BCPL and served as the basis for the C programming language. C, in turn, became one of the most widely used programming languages in the world.
In summary, BCPL is a programming language that was designed for writing compilers and introduced several features that are now common in modern programming languages. It was created in 1967 by Martin Richards and influenced the development of the B and C programming languages.