Tuesday, May 23, 2017

The Evolution of Programming Languages and Computer Architectures over the Last 50 Years

Prof. Niklaus Wirth

June 12, 2017, 16:00
Alpen-Adria-Universität Klagenfurt, E.2.42

Please register via martina@itec.aau.at

We recount the development of procedural programming languages and of computer architectures, beginning with Algol 60 and the main frame computers, and discuss the influence of the former on the latter. We point out the major innovative features of computers, and the main characteristics of languages. What makes languages high-level, and what caused their cancerous growth and overwhelming complexity? Are we stuck with the monsters, or is further, sound development still possible?

© Peter Badge/Typos1 – in coop. with HLFF - all rights reserved 2017
Niklaus Wirth is one of the most influential computer scientists ever. He is known first of all for his works in programming language and compiler design, but he has also contributed a lot to hardware and operating system design and software engineering in a general sense. He spent most of his working time as professor at the ETH Zürich, but spent also several years in outstanding research institutions in the USA (e.g. Xerox PARC) and Canada.

His best known programming language is Pascal. Pascal was published at the end of the sixties, at a time, when on the one side widely used but theoretically poorly founded languages (such as Fortran and Cobol) and on the other hand theoretically exaggerated and practically hardly useful languages (such as Algol-68) dominated the scene. Wirth succeeded with Pascal to find the happy medium. This was the first programming language 1) incorporating the sound theory of safe programming (as defined by E.W. Dijkstra, C.A. Hoare and others, including Wirth himself); 2) applying strict, static type checking; 3) providing a flexible system of recursive type constructors. In other words: Strictness, regarding syntax, but freedom in expressing semantics. In later languages Wirth adapted the concept of encapsulation and information hiding (Modula and Modula-2), and object-orientation (Oberon and Oberon-2) in a novel, clean and simple way. Oberon was not only the name of a language, but also of an extremely compact, but extendible operating system, enabling – among others – maybe the first efficient garbage collector of the world. He designed also a hardware architecture, best fitting for the requirements of code generation from compilers (the Lilith architecture) becoming thus a pioneer for later RISC architectures. He also designed a simple and compact language for hardware design (LOLA). The leading principle in all his work was the slogan taken from Albert Einstein: “Make it as simple as possible – but not simpler!”

Niklaus Wirth published over 10 books and numerous scientific papers. He was for a few years the most quoted computer scientist at all. He received practically all awards a computer scientists can get. First of all, the Turing Award, which is often called “the Nobel prize for computer scientists”. He is a member of the order Pour le mérite for science and art and of the German Academy of Sciences, he received the IEEE Computer Pioneer Award, the Outstanding Research Award in Software Engineering von ACM Sigsoft – and a lot of others. Niklaus Wirth is an excellent speaker; humble, wise and with a lot of sense of humor. This makes his talks for an unforgettable event for this audience. The Institute of Information Technology at the Klagenfurt University is highly honored and pleased that he accepted our invitation.

No comments: