Download The Evolution of Programming Languages: From Prolog to Java and more Slides Advanced Computer Programming in PDF only on Docsity!
The History Of
Programming Languages
Prehistory of programming languages
- The story of the programmers of Babylon
- The story of Mohammed Al-Khorezmi
- The story of Augusta Ada, Countess of Lovelace
Early programming languages
- The story of the Plankalkül
- The story of Fortran
- The story of Lisp
- The story of Algol
- The story of Smalltalk
Our languages
- The story of Prolog
- The story of ML
- The story of Java
Babylonian Numbers
The two Babylonian digits for “1” and “10”,
written together, signify a number base 60
The exponent is not given; the reader must
figure it out from the context
Chapter Twenty-Four Modern Programming Languages, 2nd ed. 4
1 × 601 + 10 × 600 = 70
(^16) 1 × 600 + 10 × 60 −^1 = 1
1 × 60 i^ +^1 + 10 × 60^ i
Docsity.com
A Babylonian Program
Written language to describe computational
procedures:
Chapter Twenty-Four Modern Programming Languages, 2nd ed. 5
A cistern. The length equals the height. A certain volume of dirt has been excavated. The cross-sectional area plus this volume comes to 1,10. The length is 30. What is the width? You should multiply the length, 30, by …
Translation by Donald Knuth
Docsity.com
Prehistory of programming languages
- The story of the programmers of Babylon
- The story of Mohammed Al-Khorezmi
- The story of Augusta Ada, Countess of Lovelace
Early programming languages
- The story of the Plankalkül
- The story of Fortran
- The story of Lisp
- The story of Algol
- The story of Smalltalk
Our languages
- The story of Prolog
- The story of ML
- The story of Java
Baghdad
Near ancient Babylon
Founded around 762
A great center of scholarship, art and poetry
780-850: Mohammed Al-Khorezmi, a court
mathematician, lived and wrote
Two little books…
Algorithms
The original is lost
Latin translation: Algorthmi de numero
Indorum
Algorithms for computing with Hindu
numerals: base-10 positional system with 0
A new technology (data structure and
algorithms)
Strongly influenced medieval European
mathematics
Other Early Written Algorithms
Euclid, 300 BC: an algorithm for
computing the GCD of two numbers
Alexander de Villa Dei, 1220 AD: Canto de
Algorismo , algorithms in Latin verse
Not programming languages: natural
language (even poetry) plus mathematics
Augusta Ada
Daughter of George Gordon, Lord Byron
Early 1800’s in England (as elsewhere)
women were generally denied education,
especially math and science
Ada studied math with a private tutor (as an
antidote to feared Byronic tendencies)
Married at 19 (Lady Lovelace), 3 children
Charles Babbage
English mathematician
Inventor of mechanical computers:
- Difference Engine, construction started but not
completed (until a 1991 reconstruction)
- Analytical Engine, never built
Chapter Twenty-Four Modern Programming Languages, 2nd ed. 14
I wish to God these calculations had been executed by steam!
Charles Babbage, 1821
Docsity.com
Sketch of the Analytical Engine
A paper by Luigi Menabrea
Published 1843
Translated, with explanatory notes, by
A.A.L.
Algorithms in a real programming
language: the machine language of punched
cards for the Analytical Engine
Not Just For Numbers
Chapter Twenty-Four Modern Programming Languages, 2nd ed. 17
The bounds of arithmetic were however outstepped the moment the idea of applying the cards had occurred; and the Analytical Engine does not occupy common ground with mere "calculating machines." … In enabling mechanism to combine together general symbols in successions of unlimited variety and extent, a uniting link is established between the operations of matter and the abstract mental processes of the most abstract branch of mathematical science. A.A.L.
Docsity.com
Konrad Zuse
Built a mechanical computer in his parents’
living room in Berlin in 1936: the Z
Metal strips and pins—very different from
Babbage’s wheelwork
Programmable using punched tapes
Binary floating point numbers with an
explicit exponent
Early Development
More computers:
- Z2 experimented with relays for the ALU
- Z3: all-relay technology (the first electronic
programmable digital computer)
- Z4: envisioned as a commercial system
Most designs and prototypes destroyed in
the war
1945: Zuse flees Berlin with wife and Z