CLU * Introduction data abstraction language also generators (type parameterization), and exception handling we're not covering Ada, because don't have a compiler and CLU is better (may find it helpful to read about Ada anyway) ** History and Goals *** History (1970s were the golden age of language design, "structured prog") 1958-1960 LISP (heap allocated language) 1967 Simula 67 (object-oriented language for simulation, based on Algol 60, largely unnoticed) 1968 Algol 68 (lots of coercions, negative influence) 1971 Pascal 1971 Parnas begins promoting notion of information hiding (modularity) 1973 Barbara Liskov's group at MIT begins design of CLU 1975 initial verision of CLU implemented no exception handling 1978 essentially final version of CLU *** Goals "The goal was to work out data abstraction precisely." - B. Liskov i.e., support programming method based on data abstraction also support other ideas about programming: no global variables