Availability of program libraries
Consistency checks during implementation that can detect errors
is another term for machine independence; a language is
if programs inthe language can be run on different machines with little or no change.Originally written in assembly language, the UNIX operating system was rewritten in programming language C in 1973. Ritchie  recounts the resulting benefits
REASONS FOR STUDYING PROGRAMMING LANGUAGES.
To improve your ability to develop effective algorithms.
Many languages providefeatures, that when used properly, are of benefit to the programmer but, when usedimproperly, may waste large amounts of computer time or the programmer into time-consuming logical errors. 2.
To improve your use of your existing programming language.
By understanding howfeatures in your language are implemented, you greatly increase your ability to writeefficient programs.3.
To increase your vocabulary of useful programming constructs.
Language serves both as an aid and a constraint to thinking. People use language to express thought, but language also serves to structure how one thinks, to the extent that it is difficult tothink in ways that allow no direct expression in words.4.
To allow a better choice of programming language.
A knowledge of a variety of languages may allow the choice of just right language for a particular project, therebyreducing the required coding effort.5.
To make it easier to learn a new language.
A linguist, through a deep understandingof the underlying structure of natural languages, often can learn a new foreignlanguage more quickly than straggling novice who understand little of the structureeven of their native tongue.6.
To make it easier to design a new language.
Few programmers ever think of themselves as language designers, yet many applications are really a form of programming language.
BRIEF HISTORY OF PROGRAMMING LANGUAGES.
Programming is difficult—almost as soon as the first computer was built; it became obviousthat programming was very difficult. The tasks we have attempted to accomplish withcomputers have grown rapidly in ambitiousness and size. Much of the difficulty of stemsfrom
, the necessity of dealing with many different details at one time. One of the primary tasks of programming languages is the conquest of this complexity.Programming early computers was especially difficult—although the problems addressed byearly computers were smaller than many of those now addressed, programming was still verydifficult. Part of the reason was that early computers had very little storage; few thousandwords were considered a large memory. Thus, compact code was a necessity, also the earlycomputers were very slow, and so it was important that programs be coded efficiently.Additionally, early computers were more complicated to program than the ones we arefamiliar with today.During the early years the following were invented:
Many program design notations were developed—for example the von Neumannand Goldstine’s
which developed into flowcharts that are still widelyused in the design of programs.
Floating point and indexing were simulated—floating point operations did notappear until the IBM 704 in 1953.
Pseudo code interpreters were invented—it was quickly recognized that consistentuse of the floating-point and indexing subroutines simplified the programming process; it allowed one to program as though these facilities were provided by the
Summarized by Felix Oluwole AkinladejoUpdated by Arnett B. Campbell January 2005