The C programming language, a descendant of several older languages (including B), was developed by Dennis Ritchie at Bell Laboratories in 1972. C is a simple language in its syntax, with relatively few instructions. However, it has been extended considerably by Microsoft (among others) for use in the PC environment.
The strength of C and its descendants, such as C++, are that it combines the advantages of a high-level programming language, such as relative readability, with the ability to reach down to the operating system and hardware levels of the computer. Unfortunately, the power of C can sometimes be dangerous in the hands of, shall we say, programmers of only modest capability. Also, the syntax of C allows for what some programmers consider "clever" or "elegant" programming style, but which may be more accurately termed "highly unreadable."
For comparison purposes, here is the C language version of the BASIC program that computes the average of some numbers. I think you will agree that it is not quite as readable as the earlier BASIC version. Lines beginning with // are comment lines that are ignored by the computer.
// C program to compute the average // of a set of at most 100 numbers #include <stdio.h> void main(void) { // Declare some variables int Num, i; float Sum, NextNum, Ave; // Ask for the number of numbers printf( "Enter number of numbers: " ); scanf( "%u", &Num ); // If Num is between 1 and 100 then proceed if( (Num > 0) && (Num <= 100) ) { Sum = 0.0; // Loop to collect the numbers to average for( i = 1; i <= Num; i++ ) { // Ask for next number printf( "Enter next number: " ); scanf( "%f", &NextNum ); // Add the number to the running sum Sum += NextNum; } // Compute the average Ave = Sum / Num; //Display the average printf ("The average is: %f\n", Ave ); } }
An object-oriented extension to C, known as C++, was developed in the early 1980s by Bjarne Stroustrup (also at Bell Labs).