Harold W. (Bud) Lawson
2000 Computer Pioneer Award
“For inventing the pointer variable and introducing this concept into PL/I, thus providing for the first time, the capability to flexibly treat linked lists in a general-purpose high level language”
Harold W. (Bud) Lawson has been active in the field of computing since 1958 with broad international experience in industrial and academic environments. He received the Bachelor of Science degree from Temple University, Philadelphia, Pennsylvania, in 1959 and the PhD degree from the Royal Technical University, Stockholm in 1983.
The work on the pointer variable concept was performed during the years 1964-65. At that time Bud Lawson was employed by the International Business Machines Corporation. After the invention of the pointer variable and its integration into PL/I, he authored the first professional publication of these concepts entitled “PL/I List Processing” which appeared in the June, 1967 issue of the Communications of the Association for Computing Machinery.
As with many pioneering inventions, the pointer variable has been an important enabler. The pointer variable has enabled programmers to effectively create higher level language programs to solve many complex problems in, amongst other areas, computer graphics and systems programs such as compilers and operating systems. Unquestionably the pointer variable concept, later adapted from PL/I to various programming languages such as C, Pascal, C++, and Ada has had a major impact upon the field of computing.
When properly utilized, pointer variables have provided for elegant solutions to complex computational tasks. One of the most notable successes in this regard was the development of what many consider to be the best operating system ever developed; namely MULTICS which was developed jointly by the MIT (Massachusetts Institute of Technology) and Bell Telephone Laboratories in the late 1960s. This operating system was programmed using PL/I with heavy reliance upon the pointer variable facilities. During its commercial life with General Electric and later Honeywell, MULTICS proved to be one of the most understandable and maintainable operating systems ever.
When utilized in a non-professional manner, pointer variables have led to software reliability problems. These problems are evident in enormous software composites containing significant unnecessary complexity such as the Windows operating system. There are undoubtedly many thousand pointer variables utilized in that system, whereas, there were only a few hundred in MULTICS. By not properly engineering software, complex pointer relationships and status can arise that are difficult to predict and trace thus leading to difficulties.
When will we ever learn that engineering discipline is required to produce high quality software? Pointer variables when properly utilized have provided hundreds of thousands of software engineers with an essential enabling tool of the trade.
Bud Lawson has made other pioneering contributions. He participated, under the direction of Grace M. Hopper, in the development of the first UNIVAC Cobol compiler for the UNIVAC II (1959-61). He developed and published some of the first algorithms for manipulating multi-linked data structures (early 1960’s). Both of these experiences provided an excellent foundation for the pointer variable work.
He had responsibility for developing one of the earliest computer engineering programs at the Polytechnic Institute of Brooklyn in the late 1960s as well as participated in the development of the a similar program in Sweden at Linköpings University 1973-74.
Lawson has made several contributions to the field of computer architecture including participation in the design of the Standard Computer MLP-900 (1969-70) and as architect of the Datasaab FCPU (Flexible Central Processing Unit) 1971-73. One of the papers describing the FCPU presented at the International Conference on Computer Architecture in 1975 was selected for the “Best Paper Award”.
From 1975 to present, he has concentrated primarily upon various aspects of the engineering of computer-based systems. He has led and/or contributed to several successful projects in the areas of high-voltage power dispatching, automatic train control, automotive components, medical information processing, as well as military command and control systems.
He is currently Swedish Head of Delegation to ISO/IEC JTC1 SC7 WG7 and is involved in the development of a new ISO/IEC Standard (15288) on System Life Cycle Processes. He was elected by WG7 member countries to be the architect of 15288.
During his academic career, Lawson has held permanent and visiting professorial appointments at the Polytechnic Institute of Brooklyn, University of California, Irvine, Universidad Politecnica de Barcelona, Linköpings University, Royal Technical University, University of Malaya and Keio University. He was co-founder of IDA, the Institution for Datavetenskap (Department of Computer and Information Science) at Linköpings University (1983). Upon leaving academic life to take up full time consulting in 1988, IDA established the “Lawson Prize” to honor staff and graduate students that have made significant international contributions.
He is a Fellow of the IEEE, Fellow of the Association for Computing Machinery, an ACM Distinguished Lecturer, an IEEE European Distinguished Visitor, and Member of the ACM Fellows Committee. He was a founding member of SIGMICRO, EUROMICRO, as well as the IEEE Computer Society Technical Committee on the Engineering of Computer- Based Systems, serving as chair (1999-2000).