Forty Years of Computer Languages

Unix and the C language


The C language was created by Ken Thompson and Dennis Ritchie at the AT&T's Bell Labs between 1969 and 1973.

Most of the operating systems of that period where written in Assembler, Unix, insted, was mostly written in C; for this reason the C language is strictly connected to the Unix operating system. C was written for Unix development with a very pragmatic approach.

Unix was a "portable" operating system; for a new architecture only some Assembler was needed, and a C compiler. Then you could compile Unix for that platform. It was much easier than the creation of a new operating system from scratch, a very expensive and time consuming effort.

Unix, distributed at no cost to US Universities, was very successful; C and Unix had, togheter, a wide diffusion, both in academic circles and industry. Unix was the operating system of the RISC workstation of the eighties, the architecture that killed the mini-computer CISC market.

Most languages, that came after C, borrowed from C the syntax and many ideas and structures. C is a very important milestone in the programing language evolution; it is designed to be powerful, but with a simple syntax, contains all the statements for a structured language (but also the goto statement), and allows for low level operations, as the management of memory addresses.

C is still one of the most used programming in the world around 2010 [1], whereas functional and logical programming languages as Prolog, Lisp, Askell, Scheme, are limited to academic circles or specific topics. A sad symptom of the gap between the reality and the academic world; and in Italy this is an even bigger problem.

I like C, it is essential and powerful, with it's clear syntax, with the free format (no more 80 columns with reserved spaces) and the natural tendency to structured programming, but, coming from FORTRAN, I had to grasp some important changes:

C is a good language, but, due to some features of the language, managing big C programs of hundred of thousands of statements, is a very complex task. In the following years when program dimensions grew, different languages became popular, as C++ and Java.



Notes

1
For a detailed comparisons of computer languages see the lecture by J.Paquet and S.A. Mokhov: http://arxiv.org/abs/1007.2123
This text is released under the "Creative Commons" license. Licenza Creative Commons