DOC PREVIEW
UMBC CMSC 331 - History of Programming Languages

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. UMBC CMSC 331 1 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 1 History of Programming Languages CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 2 History • Early History : The first programmers • The 1940s: Von Neumann and Zuse • The 1950s: The First Programming Language • The 1960s: An Explosion in Programming languages • The 1970s: Simplicity, Abstraction, Study • The 1980s: Consolidation and New Directions • The 1990s: Internet and web • The 2000s: ? scripting, parallel, Web 2.0, …? CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 3 Early History: First Programmers • Jacquard loom of early 1800s – Translated card patterns into cloth designs • Charles Babbage’s analytical engine (1830s & 40s) Programs were cards with data and operations. Steam powered! • Ada Lovelace – first programmer “The engine can arrange and combine its numerical quantities exactly as if they were letters or any other general symbols; And in fact might bring out its results in algebraic notation, were provision made.” CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 4 Konrad Zuse and Plankalkul Konrad Zuse began work on Plankalkul (plan calculus), the first algorithmic programming language, with an aim of creating the theoretical preconditions for the formulation of problems of a general nature. Seven years earlier, Zuse had devel-oped and built the world's first binary digital computer, the Z1. He completed the first fully functional program-controlled electromechan-ical digital computer, the Z3, in 1941. Only the Z4 – the most sophisticated of his creations -- survived World War II.CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. UMBC CMSC 331 2 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 5 The 1940s: Von Neumann and Zuse • Konrad Zuse (Plankalkul) – in Germany - in isolation because of the war – defined Plankalkul (program calculus) circa 1945 but never implemented it. – Wrote algorithms in the language, including a program to play chess. – His work finally published in 1972. – Included some advanced data type features such as » Floating point, used twos complement and hidden bits » Arrays » records (that could be nested) CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 6 Plankalkul notation A(7) := 5 * B(6) | 5 * B => A V | 6 7 (subscripts) S | 1.n 1.n (data types) CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 7 The 1940s: Von Neumann and Zuse Von Neumann led a team that built computers with stored programs and a central pro-cessor ENIAC was programmed with patch cords Von Neuman with ENIAC CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 8 • Initial computers were programmed in raw machine codes. • These were entirely numeric. • What was wrong with using machine code? Everything! • Poor readability • Poor modifiability • Expression coding was tedious • Inherit deficiencies of hardware, e.g., no indexing or floating point numbers Machine Codes (40’s)CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. UMBC CMSC 331 3 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 9 The 1950s: The First Programming Language • Pseudocodes: interpreters for assembly language • Fortran: the first higher level programming language • COBOL: he first business oriented language • Algol: one of the most influential programming languages ever designed • LISP: the first language outside the von Neumann model • APL: A Programming Language CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 10 • Short Code or SHORTCODE - John Mauchly, 1949. • Pseudocode interpreter for math problems, on Eckert and Mauchly’s BINAC and later on UNIVAC I and II. • Possibly the first attempt at a higher level language. • Expressions were coded, left to right, e.g.: X0 = sqrt(abs(Y0)) 00 X0 03 20 06 Y0 • Some operations: 01 – 06 abs 1n (n+2)nd power 02 ) 07 + 2n (n+2)nd root 03 = 08 pause 4n if <= n 04 / 09 ( 58 print & tab Pseudocodes (1949) CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 11 More Pseudocodes Speedcoding; 1953-4 • A pseudocode interpreter for math on IBM701, IBM650. • Developed by John Backus • Pseudo ops for arithmetic and math functions • Conditional and unconditional branching • Autoincrement registers for array access • Slow but still dominated by slowness of s/w math • Interpreter left only 700 words left for user program Laning and Zierler System - 1953 • Implemented on the MIT Whirlwind computer • First "algebraic" compiler system • Subscripted variables, function calls, expression translation • Never ported to any other machine CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 12 Fortran (1954-57) • FORmula TRANslator • Developed at IBM under the guidance of John Backus primarily for scientific, computational programming • Dramatically changed forever the way computers used • Has continued to evolve, adding new features & concepts. – FORTRAN II, FORTRAN IV, FORTRAN66, FORTRAN77, FORTRAN90 • Always among the most efficient compilers, producing fast codeCMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. UMBC CMSC 331 4 CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 13 Fortran 77 Examples C Hello World in Fortran 77!C (lines must be 6 characters indented)! PROGRAM HELLOW! WRITE(UNIT=*, FMT=*) 'Hello World'! END! PROGRAM SQUARE! DO 15,I = 1,10! WRITE(*, *) I*I!15 CONTINUE! END!CMSC 331. Some material © 1998 by Addison Wesley Longman, Inc. 14 FORTRAN 0 – 1954 (not implemented) FORTRAN I - 1957 Designed for the new IBM 704, which had index registers and floating point hardware Environment of development: Computers were small and unreliable Applications were scientific No programming methodology or tools Machine efficiency was most important Impact of environment on design • No need for dynamic storage • Need good array handling


View Full Document

UMBC CMSC 331 - History of Programming Languages

Documents in this Course
Semantics

Semantics

14 pages

Java

Java

12 pages

Java

Java

31 pages

V

V

46 pages

Semantics

Semantics

11 pages

Load more
Download History of Programming Languages
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 of Programming Languages 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 of Programming Languages 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?