Technetra

An Evening With Niklaus Wirth

Alolita Sharma,  December 3rd, 2004 at 1:20 pm

Dr. Niklaus Wirth is best known in the world of computing as the creator of the Pascal family of programming languages. He has a long list of honors attached to his name - from the prestigious ACM Turing Award to the Leonardo da Vinci Medal - for contributions in fundamental research and design of algorithms, data structures, compiler design and software programming languages. Wirth is one of the pioneers of computer science who shares the stage of history with Donald Knuth, Richard Stallman and Bjarne Stroustrup.

In a recent lecture on programming languages at the Computer History Museum in Mountain View, California, Dr. Wirth talked about simple design and discipline being key to good software programming. He emphasized how good programming languages and software should respect efficiency and optimization even if, as it is especially true today, hardware resources are abundant. Even too much documentation can be a warning sign. Voluminous manuals may be an early symptom of a programming language’s failure. The essence of programming languages, according to Wirth, is to provide a level of abstraction from the details of computer hardware; to provide a suitable model of computation and to allow mathematical reasoning without recourse to knowledge about the underlying mechanisms.

As he walked through the history of programming languages, he described the progression of his work at Stanford University on Algol-W and, later at ETH Zurich, on Pascal, Modula-2 (modular programming), and Oberon (object oriented programming). He proudly described himself as part of the original group of five professors who created the Department of Computer Science at Stanford. In 1968, when changes in the US political climate during the Vietnam War increased anti-war sentiment on campus, he headed back to Switzerland where, as a Professor of Informatics, he continued his seminal work on Pascal, Modula-2, Lola and open source Oberon. Oberon is a single-user, multi-tasking operating system and language that is available under a BSD-style license and emphasizes openness and extensibility.

Wirth talked about basic concepts in computing, saying that not too many people today think about programming the way he did 30 years ago. Optimizing usage of hardware resources, improving algorithms and thinking about fundamental concepts are all part of creating simple designs. Languages have become complicated, unstructured and non-transparent. Most people today use libraries of subroutines to pick and choose the functionality they require, much like hardware designers choose circuits from catalogs and then glue them together. This results in bloated software and hardware. These ideas are similar to what Dr. Knuth, Wirth’s contemporary, also emphasizes. Simplicity and elegance in design are the essence of the best programming languages. Dr. Knuth, the father of Algorithmics, attended the lecture as part of the audience. He asked Wirth about recursion and why it was added as an after-thought to Pascal. Interestingly, Wirth responded that at the time Pascal was created, he was working on a CDC6000 system, a machine that did not handle recursion well. But as the hardware improved, Wirth was able to add recursion as a feature without sacrificing efficiency.

In the 80s, AT&T adopted and promoted C/C++ as the emerging programming standard and Pascal lost the star status it had once commanded, despite being a well-designed, efficient, type-safe and popular language. Software vendors such as Apple spent enormous resources to convert their code bases from Pascal to C/C++ as they rode the wave of C/C++ dominance in the US market. So when Dr. Wirth was asked about the rise of complex and non-type-safe languages such as C/C++, he replied that programmers may be starting to reinvent more disciplined, safer languages such as Java and C#. But, he was quick to point out that even these best exemplars of modern programming languages have a long way to go before they can “catch up” with Pascal or Oberon. So the evening concluded with the progressive Dr. Wirth recommending that we go back to basics - back to the future.

© Alolita Sharma, Technetra. Published December 2004 in LinuxForYou magazine. This work is licensed under a Creative Commons Attribution-No Derivative Works 3.0 License. You can follow any responses to this entry through the RSS 2.0 feed. Both comments and pings are currently closed.

Penny Wise, Pound Foolish Article Index Book Review: The Definitive Guide to Plone

Comments

Comments are closed for this article.

© 2000-2010 Technetra. All rights reserved. Contact | Terms of Use

WordPress