Short for Basic Combined Programming Language, BCPL is a programming language developed in 1966 by Martin Richards at the University of Cambridge that became popular because of its portability. BCPL is the successor of the CPL programming language, a fact that lead to the use of the humorous acronym BCPL (Before C Programming Language).
Originally intended for writing compilers for other languages, BCPL is no longer in common use. However, its influence is still felt as the language introduced several innovations which became common elements in the design of later languages.
As such, the language was the first brace programming language and the first language to use // to mark inline comments. The braces are still used today in many languages as a common mean of denoting program source code statements. BCPL was designed so that small and simple compilers could be written for it and was a popular choice for bootstrapping a system.
BCPL was also easily portable. A major reason for its portability lay in its structure. The compiler was divided into two parts: the front end (that parsed the source and generated code for a virtual machine) and the back end (that took the code and translated it into the code for the target machine). Only ⅕ of the code needed to be rewritten in order to support a new machine, a task that took between 2 and 5 months. This approach became common practice in later language programs (Pascal, Java), but it was first introduced by BCPL.
Beside all these innovations, the program also encountered a few problems. For example, one of the most important setbacks was caused by the fact that the program had only one data type, a 16-bit word. This fact caused problems when BCPL was used on machines that had larger word sizes (32-bit or 64-bit). BCPL remains however one of the most important language programs in the history of computing, being used for other innovative projects such as the Xerox Alto project (the first modern personal computer), the Honeywell 635 and 645, the IBM 360, UNIVAC 1108 and the list goes one. As a reference, by 1979 the language was used for approximately 25 architectures.