What is C

Dennis Richie

C is a programming language developed at AT & T’s Bell Laboratories of USA in 1972. It was designed and written by a man named Dennis Ritchie. In the late seventies C began to replace the more familiar languages of that time like PL/I, ALGOL, etc. No one pushed C. It wasn’t made the ‘official’ Bell Labs language. Thus, without any advertisement C’s reputation spread and its pool of users grew. Ritchie seems to have been rather surprised that so many programmers preferred C to older languages like FORTRAN or PL/I, or the newer ones like Pascal and APL. But, that’s what happened. Possibly why C seems so popular is because it is reliable, simple and easy to use. Moreover, in an industry where newer languages, tools and technologies emerge and vanish day in and day out, a language that has survived for more than 3 decades has to be really good.


History of C programming Language

C has often been termed as a “Pseudo high level language” or a “Middle level language” by many programmers. This is not because of its lack of programming power but because of its capability to access the system’s low level functions. In fact C was invented specifically to implement UNIX. C instructions are compiled to assembly code, therefore, depending on the complexity of the code and on the compiler optimization capabilities, C code may run as fast as assemby. Ken Thompson created the B language in 1969 from Martin Richard’s BCPL (Basic Combined Programming Language). He used assembly language and B to produce the initial versions of the UNIX operating system. BCPL and B were typeless languages in which variables were simply words in memory. Dennis Ritchie of Bell Laboratories later converted B into C by retaining most of B’s syntax in 1972 and wrote the first compiler. This was implemented on DEC’s PDP 11 and it was first used as the system’s language for rewriting the UNIX operating system. Later on, UNIX, its tools and C grew simultaneously. In 1978, Kernighan and Ritchie wrote a book entitled ‘The C Programming Language’ that became the language definition for almost a decade. Beginning in 1983, the ANSI X3J11 committee was asked to standardize the C language. The result was ANSI C, a standard which was adopted in 1988. It is not forced upon any programmer, but since it is so widely accepted, it would be economically unwise for any systems programmer or compiler writer not to conform to the standard.


Features of C Language

  • C is a procedure-based programming language. This means the program is viewed as a means to solve a problem. Various functions modules or code blocks are thus, written to solve this problem.
  • C functions can accept parameters and return values and perform variety of tasks like input from the user, displaying the information, etc.
  • C is simple and easy to learn and use. The main components like builtin functions, operators, keywords are small in number.
  • In C, errors are checked only at compile time. The compiled code though have no safety checks for bad type casts, bad array indices, or bad pointers.
  • C works best for small projects where performance is important.
  • C contains the capability of assembly language with the features of high level language which can be used for creating software packages, system software etc.
  • C is highly portable. C programs written on one computer can run on other computer without making any changes in the program.