Home      Discussion      Topics      Dictionary      Almanac
Signup       Login
Niklaus Wirth

Niklaus Wirth

Overview
Niklaus Emil Wirth is a Swiss
Switzerland
Switzerland name of one of the Swiss cantons. ; ; ; or ), in its full name the Swiss Confederation , is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe,Or Central Europe depending on the definition....

 computer scientist
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

, best known for designing several programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s, including Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

, and for pioneering several classic topics in software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

. In 1984 he won the Turing Award
Turing Award
The Turing Award, in full The ACM A.M. Turing Award, is an annual award given by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community. The contributions should be of lasting and major technical importance to the...

 for developing a sequence of innovative computer languages.

Wirth was born in Winterthur
Winterthur
Winterthur is a city in the canton of Zurich in northern Switzerland. It has the country's sixth largest population with an estimate of more than 100,000 people. In the local dialect and by its inhabitants, it is usually abbreviated to Winti...

, Switzerland
Switzerland
Switzerland name of one of the Swiss cantons. ; ; ; or ), in its full name the Swiss Confederation , is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe,Or Central Europe depending on the definition....

, in 1934. In 1959 he earned a degree in Electronics Engineering from the Swiss Federal Institute of Technology Zürich (ETH Zürich). In 1960 he earned an M.Sc. from Université Laval
Université Laval
Laval University is the oldest centre of education in Canada and was the first institution in North America to offer higher education in French...

, Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...

.
Discussion
Ask a question about 'Niklaus Wirth'
Start a new discussion about 'Niklaus Wirth'
Answer questions from other users
Full Discussion Forum
 
Quotations

As a matter of fact, the adaptability of a program to changes in its objectives (often called maintainability) and to challenges in its environment in terms of the degree to which it is neatly structured.

But active programming consists of the design of new programs, rather than contemplation of old programs.

Clearly, programming courses should teach methods of design and construction, and the selected examples should be such that a gradual development can be nicely demonstrated.

During the process of stepwise refinement, a notation which is natural to the problem in hand should be used as long as possible.

Experience shows that the success of a programming course critically depends on the choice of these examples.

In the practical world of computing, it is rather uncommon that a program, once it performs correctly and satisfactorily, remains unchanged forever.

Programming is usually taught by examples.

Encyclopedia
Niklaus Emil Wirth is a Swiss
Switzerland
Switzerland name of one of the Swiss cantons. ; ; ; or ), in its full name the Swiss Confederation , is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe,Or Central Europe depending on the definition....

 computer scientist
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

, best known for designing several programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s, including Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

, and for pioneering several classic topics in software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

. In 1984 he won the Turing Award
Turing Award
The Turing Award, in full The ACM A.M. Turing Award, is an annual award given by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community. The contributions should be of lasting and major technical importance to the...

 for developing a sequence of innovative computer languages.

Biography


Wirth was born in Winterthur
Winterthur
Winterthur is a city in the canton of Zurich in northern Switzerland. It has the country's sixth largest population with an estimate of more than 100,000 people. In the local dialect and by its inhabitants, it is usually abbreviated to Winti...

, Switzerland
Switzerland
Switzerland name of one of the Swiss cantons. ; ; ; or ), in its full name the Swiss Confederation , is a federal republic consisting of 26 cantons, with Bern as the seat of the federal authorities. The country is situated in Western Europe,Or Central Europe depending on the definition....

, in 1934. In 1959 he earned a degree in Electronics Engineering from the Swiss Federal Institute of Technology Zürich (ETH Zürich). In 1960 he earned an M.Sc. from Université Laval
Université Laval
Laval University is the oldest centre of education in Canada and was the first institution in North America to offer higher education in French...

, Canada
Canada
Canada is a North American country consisting of ten provinces and three territories. Located in the northern part of the continent, it extends from the Atlantic Ocean in the east to the Pacific Ocean in the west, and northward into the Arctic Ocean...

. Then in 1963 he was awarded a Ph.D.
Doctor of Philosophy
Doctor of Philosophy, abbreviated as Ph.D., PhD, D.Phil., or DPhil , in English-speaking countries, is a postgraduate academic degree awarded by universities...

 in Electrical Engineering and Computer Science (EECS) from the University of California, Berkeley
University of California, Berkeley
The University of California, Berkeley , is a teaching and research university established in 1868 and located in Berkeley, California, USA...

, supervised by the computer designer pioneer Harry Huskey
Harry Huskey
Harry Douglas Huskey is an American computer designer pioneer.Huskey was born in the Smoky Mountains region of North Carolina and grew up in Idaho. He gained his Master's and then his PhD in 1943 from the Ohio State University on Contributions to the Problem of Geocze...

.

From 1963 to 1967 he served as assistant professor of Computer Science
Computer science
Computer science or computing science is the study of the theoretical foundations of information and computation and of practical techniques for their implementation and application in computer systems...

 at Stanford University
Stanford University
The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university on an campus located near Palo Alto, California. It is situated in the northwestern Santa Clara Valley on the San Francisco Peninsula, approximately northwest of San...

 and again at the University of Zurich
University of Zurich
The University of Zurich , located in the city of Zurich, is the largest university in Switzerland, with over 25,000 students. It was founded in 1833 from the existing colleges of theology, law, medicine and a new faculty of philosophy....

. Then in 1968 he became Professor of Informatics
Informatics (academic field)
Informatics is the science of information, the practice of information processing, and the engineering of information systems. Informatics studies the structure, algorithms, behavior, and interactions of natural and artificial systems that store, process, access and communicate information...

 at ETH Zürich, taking two one-year sabbaticals at Xerox PARC
Xerox PARC
PARC , formerly Xerox PARC, is a research and co-development company in Palo Alto, California, with a distinguished reputation for its contributions to information technology and hardware systems....

 in California
California
California is a state located on the West Coast of the United States. It is by far the most populous U.S. state, and the third-largest by land area...

 (1976–1977 and 1984–1985). Wirth retired in 1999.

Programming languages



Wirth was the chief designer of the programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

s Euler, Algol W
ALGOL W
ALGOL W is a programming language. It was based on a proposal for ALGOL X by Niklaus Wirth and C. A. R. Hoare as a successor to ALGOL 60 in IFIP Working Group 2.1. When the committee decided that the proposal was not a sufficient advance over ALGOL 60, the proposal was published as A contribution...

, Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

, Modula
Modula
The Modula programming language is a descendent of the Pascal programming language. It was developed in Switzerland in the late 1970s by Niklaus Wirth, the same person who designed Pascal...

, Modula-2
Modula-2
Modula-2 is a computer programming language designed and developed between 1977 and 1980 by Niklaus Wirth at ETH Zurich as a revision of Pascal to serve as the sole programming language for the operating system and application software for the personal workstation Lilith...

, Oberon, Oberon-2
Oberon-2
Oberon-2 is an extension of the original Oberon programming language that adds limited reflection and object-oriented programming facilities, open arrays as pointer base types, read-only field export and reintroduces the FOR loop from Modula-2....

, and Oberon-07 . He was also a major part of the design and implementation team for the Lilith
Lilith (computer)
Lilith is the name of custom built workstation using the AMD 2901 bit-slice processor by the group of Niklaus Wirth at ETH Zürich. The project started in 1977 and by 1984 several hundred workstations were in use. It had a high resolution full page display, a mouse, a laser printer interface, and a...

 and Oberon
Oberon operating system
Oberon is an operating system developed in the late 1980s at ETH Zürich using the Oberon programming language. It has an innovative visual text-based user interface for activating commands.- History :...

 operating systems, and for the Lola
Lola (hardware description language)
Lola is designed to be a simple hardware description language for describing synchronous, digital circuits. Niklaus Wirth developed the language to teach digital design on field-programmable gate arrays to computer science students while a professor at ETH Zürich.The purpose of Lola is to...

 digital hardware design and simulation system. He received the ACM
Association for Computing Machinery
The Association for Computing Machinery is a learned society for computing. It was founded in 1947 as the world's first scientific and educational computing society. Its membership is more than 92,000 as of 2009...

 Turing Award
Turing Award
The Turing Award, in full The ACM A.M. Turing Award, is an annual award given by the Association for Computing Machinery to "an individual selected for contributions of a technical nature made to the computing community. The contributions should be of lasting and major technical importance to the...

for the development of these languages and in 1994 he was inducted as a Fellow of the ACM.
He designed the simple programming language PL/0
PL/0
At least two programming languages are known as PL/0. One is a subset of IBM's general-purpose programming language PL/I.The other PL/0, covered here, is similar to but much simpler than the general-purpose programming language Pascal, intended as an educational programming language. It serves as...

 to illustrate compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 design. It has formed the basis for many university compiler design classes.

Notable publications


His article Program Development by Stepwise Refinement, about the teaching of programming, is considered to be a classic text in software engineering
Software engineering
Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software...

.
In 1975 he wrote the book "Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programs
Algorithms + Data Structures = Programsis a 1976 book written by Niklaus Wirth covering some of the fundamental topics of computer programming, particularly that algorithms and data structures are inherently related...

", which gained wide recognition and is still useful today.

Wirth's law



In 1995, he popularized the adage now known as Wirth's law
Wirth's law
Wirth's law is a computing adage made popular by Niklaus Wirth in 1995:Wirth attributed the saying to Martin Reiser, who, in the preface to his book on the Oberon System, wrote: The hope is that the progress in hardware will cure all software ills...

: "Software is getting slower more rapidly than hardware
Hardware
Hardware is a general term for equipment such as keys, locks, hinges, latches, handles, wire, chains, plumbing supplies, tools, utensils, cutlery and machine parts. Household hardware is typically sold in hardware stores....

 becomes faster." In his 1995 paper A Plea for Lean Software he attributes it to Martin Reiser.

Quotes


See also

  • Extended Backus–Naur form
    Extended Backus–Naur form
    In computer science, Extended Backus–Naur Form is a family of metasyntax notations used for expressing context-free grammars: that is, a formal way to describe computer programming languages and other formal languages. They are extensions of the basic Backus–Naur Form metasyntax notation.The...

  • Wirth syntax notation
    Wirth syntax notation
    Wirth syntax notation is a metasyntax, that is, a formal way to describe formal languages. Originally proposed by Niklaus Wirth in 1977 as an alternative to Backus-Naur form , it has several advantages over BNF in that it can be defined using itself, it contains an explicit iteration construct,...

  • Bucky bits
    Bucky bits
    In computing, bucky bit in a binary representation of a character, is a bit that is set by pressing on a computer keyboard additional modifier key, other than ordinary shift key.-Overview:Setting a bucky bit changes the output character...

  • Wirth-Weber precedence relationship
    Wirth-Weber precedence relationship
    The Wirth-Weber relationship between a pair of symbols is necessary to determine if a formal grammar is a Simple precedence grammar, and in such case the Simple precedence parser can be used....


External links