BCPL
Description
A language in the Algol family of programming languages, a direct descendant of CPL and a precursor to C and C++ although its syntax is more in line with other Algol languages than the "keyboard oriented" C.
BCPL's main claim to fame is that it was used to write the main portions of the Amiga operating system in the 80's (Actually based on the earlier BCPL OS, TripOS) and the highly influential but by now largely forgotten CDOS networked operating system a decade earlier, but the latter heavily influenced the development of TCP/IP and the Internet.
Although many people saw BCPL as outdated and quaint after the introduction of C there were quite valid reasons for using it in preference to C when writing operating systems. Early versions of C were somewhat propriety and although AT&T shared source code with American universities and gave them permission to use their toolchains, foreign institutions did in general not get such permissions, early versions of C also lacked some of the system programming concepts that existed in BCPL. People were less than happy with the C syntax not only the inconsistencies and anachronisms, but the fact it is designed to be faster to code on the DEC VAX minicomputers that the original authors used, the problem was that the DEC keyboard layout differed quite a bit from the IBM standard and foreign keyboards more still, so much like PERL the features that were intended to make it faster actually made it slower for everyone except a small subset of the user base. And perhaps most surprisingly when people started porting programs from BCPL to C they found that rather than being faster the C code was actually slower, but the compilers simply could more easily take advantage of structures in BCPL source code than in C code and it was not until the 90's when highly optimising C compilers started to arrive on the market that it caught up.
A list of OS/2 implementations of BCPL
- Martin Richards BCPL - Open source - Current