Diego Crespo over at Deus In Machina has a nice post on the history of C compilers. If you’re a Unix head, you probably know most of it but it was fun to remember the old days of trying to use C on MSDOS. Remember, not relive. Back then C compilers were expensive and not that good but we were happy to have anything at all.
In the early days, machine language was a lot simpler and it was relatively easy to write compilers for machines such as the PDP 11. Recent processors, and even old Intel processors such as the 8086, were a bigger challenge. Still people wrote compilers for them but it wasn’t until GCC that a high quality free compiler became available. It’s easy to forget how easy we have it now.
C is more than 50 years old now and despite the naysayers, it’s still going strong. Yes, there are some dark corners but it’s not an exaggeration to say that our modern computer milieu is built on C.
That’s not to say, of course, that every application should be written in C. It’s great for operating systems, compilers, and system utilities but not everything needs to be written in it. As a case in point, Crespo mentions that the Ford F150 truck is run by 150 million lines of C code. As I said before, this should terrify you. There is no way that 150 million lines of C code doesn’t have significant errors, yet we’re riding around with that code everyday.
Regardless, C has a great history and is apt to be with us for some time.