The Evolution of Programming Languages: From Prolog to Java, Slides of Advanced Computer Programming

An in-depth exploration of the history and development of three influential programming languages: prolog, ml, and java. Discover how these languages emerged, influenced mathematics and computing, and shaped modern programming. Learn about their creators, key features, and impact on the field.

Typology: Slides

2012/2013

Uploaded on 04/18/2013

palvani
palvani 🇮🇳

4.5

(2)

83 documents

1 / 66

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
The History Of
Programming Languages
Chapter Twenty-Four Modern Programming Languages, 2nd ed. 1
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42

Partial preview of the text

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