Unformatted text preview:

CPS323 Lecture: 50 Years of Programming Language History; Last revised 1/5/09! ! ! ! Language ParadigmsObjectives:1. To introduce the early history of higher-level programming languages2. To introduce the major programming language paradigmsMaterials: 1. Projectable of Programming Language History Timeline (Zoom in to show)2. Projectable of "publication ALGOL"I. Introduction A. One cannot understand today's programming language spectrum without a good sense of the history of their evolution. 1. After an initial explosion of new languages in the late 1950's and early 1960's, it has become the case that most new languages exhibit significant dependence on one or more predecessors - leading to a family tree phenomenon not unlike that of human languages. Truly novel languages are relatively rare. (One example that comes to mind is PROLOG.) PROJECT: Timeline - show roots at left 2. As we intimated in our discussion of the "Tower of Babel", things might be very different today if it were possible to scrap every existing piece of software and start over again - but that clearly isn't an option. B. Higher-level programming languages emerged in the 1950's. 1. The dominant reality of the time was that computer hardware was VERY expensive, while programmers were (relatively) cheap. (High hardware costs --> few computers) a. Thus, EFFICIENCY of programs was a major consideration - both time and space (memories were small.) b. All programming was done in machine language in the early 1950's, using all sorts of "tricks" to keep size and time down. Machine language was i. Lengthy to write. ii. Prone to errors. iii. Hard to debug. iv. Hard to modify. v. Not portable from one machine to another. But it was all that was available! 2. In the mid 1950's, assembly languages began to emerge. These reduced most of the problems of machine language coding, but did not eliminate them. (Of course, portability wasn't helped at all.)3. In 1957, FORTRAN was developed as the first true High Level Language. a. For its time, this was a remarkable achievement. No one had ever written an automatic translator like this before, so there was no base of theory to draw on. Moreover, FORTRAN had some features that even today would be hard to handle for a compiler. b. A key feature was the ability to use algebraic notation (e.g. X = A + B + C). Indeed, FORTRAN is an acronym for FORmula TRANslator. c. FORTRAN encountered a great deal of resistance at first. i. It was argued that the code generated by the FORTRAN compiler could not possible be as efficient as that produced by hand by a good assembly-language programmer. ii. The developers of FORTRAN were sensitive to this issue, and devoted a great deal of effort to producing a compiler that generated efficient code. In fact, the first FORTRAN compiler (for the IBM 704) was unrivaled by another other for 20 years! iii. A major factor in the acceptance of FORTRAN was IBM's sponsorship. They promoted it heavily, and gave FORTRAN compilers away with their machines. d. As we saw in the timeline, FORTRAN is a (often distant) ancestor of many of today's programming languages; and the idea of a higher-level language arguably gave rise to some of the other branches of the tree. 4. Two other early languages are worthy of a brief note: a. COBOL was developed for the business community, which tends to find algebraic notation unpalatable. (COBOL stands for COmmon Business Oriented Language). i. For example, the above algebraic expression might be written in COBOL as ADD A, B, C GIVING X. ii. On the other hand, COBOL had (and arguable still has) the most flexible facilities for formatting output, something very important in the business world. iii. Though it is one of the oldest languages in use today, and there have been many predictions of its demise, it seems to have a continuing base of use. - For example, a 2006 survey of IT managers at 352 companies by Computerworld noted this: "62% of the respondents reported that they actively use Cobol. Of those, three quarters said they use it “a lot” and 58% said they’re using it to develop new applications. Nevertheless, with a few exceptions, companies aren’t enthusiastically expanding their use of Cobol. In the survey, of those who use Cobol, 36% said they are “gradually migrating away” from it, 16% said they will replace it “every chance we get,” and 25% said they’d like to replace Cobol with something else but have found that too difficult or too expensive." [article id 266228].- A significant concern in some segments of the industry is the need to replace a large number of baby-boomers who use COBOL and who will be retiring soon. IBM, in particular, has taken some proactive steps to encourage education in COBOL. b. ALGOL - ALGOrithmic Language (1960) i. Developed by an international committee chaired by Peter Naur (whose name we will see again). Their work was based in part on an older version, the International Algorithmic Language (IAL) also known as ALGOL 58. ii. Elegance of expression was a major design goal.! - As a result, ALGOL programs are much easier for humans to read! than programs written in FORTRAN.! - For many years, to say that a language is "Algol-like" was! was tantamount to saying it is beautiful. - However, to achieve this elegance, symbols were used that were not available on the equipment of the day, though substitutes were provided to


View Full Document

Gordon CPS 323 - History

Documents in this Course
Load more
Download History
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view History and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view History 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?