Presentation is loading. Please wait.

Presentation is loading. Please wait.

The ALGOL Family Mason Vines CPSC425. Overview ALGOL 58 ALGOL 60 ALGOL 68 Success and Failure of ALGOL.

Similar presentations


Presentation on theme: "The ALGOL Family Mason Vines CPSC425. Overview ALGOL 58 ALGOL 60 ALGOL 68 Success and Failure of ALGOL."— Presentation transcript:

1 The ALGOL Family Mason Vines CPSC425

2 Overview ALGOL 58 ALGOL 60 ALGOL 68 Success and Failure of ALGOL

3 ALGOL 58 The beginning June 1957 – ACM requested a committee to look into a universal programming language October 1957 – A letter from GAMM (Gasellshaft fur angewandte Mathematik und Mechanik)  No current language covers everything  Creating more non-ideal languages doesn’t help the situation  Each passing month more people start using other languages  How can the logical structure of existing languages be adjusted

4 ALGOL 58 Zurich Meeting May 27 – June 1, 1958 Originally named IAL (International Algorithmic Language) Objectives  Close to standard mathematical notation and readable with little further explanation  Possible to use it for the description of numerical processes in publications  Readily translatable into machine code by the machine itself Three levels of languages  Reference  Publication  Hardware

5 ALGOL 58 New Features Types  Integer  Real  Boolean Formal vs Actual parameters Declaration for statements Switch Compound statements Begin end delimiters Three level language description Call by name

6 ALGOL 58 Function vs Procedure Nature of the body  Expression  Compound statement Parameter evaluation mechanism  Value of any actual parameter  Text of any actual parameter Identifier collision  Non-parameter identifiers are global to the definition  Communication only through parameters Place of use  An operand in an expression  A statement or an operand in an expression

7 ALGOL 60 February 1959 – Discussion about ALGOL 58 March 1959 – Naur sends out the first ALGOL bulletin June 1959 – John Backus presents at UNESCO FORTRAN is still being used in the U.S. ALGOL is used for publications

8 ALGOL 60 Proposed Changes The empty statement was adopted Modifications to operation hierarchy  Unary operators having higher precedence than binary operators was adopted  Implied multiplication was rejected  Relation sequences were rejected The else clause was adopted Strings, lists, trees, matrices, and complex numbers were rejected as types Multiple assignment statements were adopted  Created a new problem, A[i] := i := e Recursion became possible in obvious ways Constants were rejected

9 ALGOL 60 What’s New Block Call by value/name Typed procedures Declaration scope Dynamic arrays Side effects Global and local variables Step, until, while, if then else Thunks Activation records Recursive decent parsers No I/O

10 ALGOL 68 The Red-Headed Stepchild The IFIP (International Federation for Information Processing) working group 2.1 began working on a successor to ALGOL 60 There was a lot of debate over how much ALGOL 68 should deviate from ALGOL 60 Many members of WG 2.1 left over the decision that was made The language specified was never actually implemented

11 ALGOL 68 What’s New Many new types, called modes  Primatives Bits Bytes String Sema (a semaphore) Complex File Pipe Channel format  Additional Flex (Flexible array) Heap (space on the heap) Loc (local space on the stack) Ref (pointer) Long (bigger ints/reals) Short (smaller ints/reals) Coercion Declaration of custom types/modes

12 ALGOL Successes and Failures Programming computers – Partial Success  Core language is strong, no I/O is a serious shortcoming Publication of algorithms – Very Successful Stimulus to compiler design – Success with a seed of corruption  It only stimulated compiler design because it was difficult Stimulated formal language research – Success  Not the goal of the ALGOL effort Description of ALGOL 60 – Failure  Difficult to understand for the uninitiated reader  Needs an informal explanation

13 ALGOL 68 Successes and Failures Transition to WG 2.1 of IFIP – Failure  Extreme clumsiness since IFIP needed ALGOL more than ALGOL needed the IFIP  The vague concept of ALGOL in the name of WG 2.1. Should have used a new name Instead of learning from ALGOL 60, they amplified the failures The IFIP was authoritarian  No open debate for the selection of a chairmen  No provision for regular replacement of the chairmen  No provision for killing a technical committee or working group The IFIP uses the name ALGOL to take credit for work they didn’t do

14 References Lindsey, C.H., “A History of ALGOL 68.” History of Programming Languages, ACM Press. 1993. 97-132 Naur, Peter, “Successes and failures of the ALGOL effort”, ALGOL Bulletin #28, Computer History Museum. 1986. 58-62 Thomson, C.M., “Algol 68 as a Living Language”, ALGOL Bulletin #47, Computer History Museum. 1981. 21-24 Perlis, Alan, “The American side of the development of Algol”, The first ACM SIGPLAN conference on History of programming languages, ACM Press. 1978. 3-14 Naur, Peter. “The European side of the last phase of the development of ALGOL 60”, The first ACM SIGPLAN conference on History of programming languages, ACM Press. 1978. 15-44


Download ppt "The ALGOL Family Mason Vines CPSC425. Overview ALGOL 58 ALGOL 60 ALGOL 68 Success and Failure of ALGOL."

Similar presentations


Ads by Google