Computer Programming Languages (part 3) [Archives:2003/658/Education]

August 11 2003

By Akram Yahia Baker
APTECH, Sana'a Center

Pascal was designed in a very orderly approach. It combined many of the best features of the languages in use at the time, COBOL, FORTRAN, and ALGOL. While doing so, many of the irregularities and oddball statements of these languages were cleaned up, which helped it gain users (Bergin, 100-101). The combination of features, input/output and solid mathematical features made it a highly successful language. Pascal also improved the 'pointer' data type, a very powerful feature of any language that implements it. It also added a CASE statement that allowed instructions to branch like a tree in the following manner:

CASE expression OF
statements to execute
statements to execute

Pascal also helped the development of dynamic variables, which could be created while a program was being run, through the new and dispose commands. However, Pascal did not implement dynamic arrays, or groups of variables, which proved to be needed and led to its downfall (Bergin, 101, 102). Wirth later created a successor to Pascal, Modula-2, but by the time it appeared, C was gaining popularity and users at a rapid pace.
C was developed in 1972 by Dennis Ritchie while working at Bell Labs in New Jersey. The transition in usage from the first major languages to the major languages of today occurred with the transition between Pascal and C. Its direct ancestors are B and BCPL, but its similarities to Pascal are quite obvious. All of the features of Pascal, including the new ones such as the CASE statement are available in C. C uses pointers extensively and was built to be fast and powerful at the expense of being hard to read. But because it fixed most of the mistakes Pascal had, it won over former-Pascal users quite rapidly.
Ritchie developed C for the new Unix system being created at the same time. Because of this, C and Unix go hand in hand. Unix gives C such advanced features as dynamic variables, multitasking, interrupt handling, forking, and strong, low-level, input-output. Because of this, C is very commonly used to program operating systems such as Unix, Windows, the MacOS, and Linux.
In the late 1970's and early 1980's, a new programming method was developed. It was known as Object Oriented Programming, or OOP. Objects are pieces of data that can be packaged and manipulated by the programmer. Bjarne Stroustroup liked this method and developed extensions to C known as “C with Classes”. This set of extensions developed into the full-feature language C++, which was released in 1983.
C++ was designed to organize the raw power of C using OOP, but maintained the speed of C and was able to run on many different types of computers. C++ is most often used in simulations, such as games. C++ provides an elegant way to track and manipulate hundreds of instances of people in elevators, or armies filled with different types of soldiers. It is the language of choice in today's AP Computer Science courses.
To be continued next week