David Anderson's viewpoint "Tom Kilburn: A Tale of Five Computers" (May 2014) on the pioneering computers built at the University of Manchester was fascinating and informative, but no article on the history of British computing can avoid the precedence controversy between the Universities of Manchester and Cambridge. For example, Cambridge advocates will put the case for the EDSAC computer and its many achievements, including nearly 10 years of service to the scientific community starting in 1949. But the Manchester Baby was operational more than 10 months earlier. It is in this spirit we should examine Anderson's remark, "Starting in 1963, [Kilburn] spent several years establishing and organizing a new Department of Computer Science, the first of its kind in the U.K." It is no criticism of Manchester's fine School of Computer Science to ask, what is the word "first" doing here? (Let us ignore the qualifier "of its kind," which would guarantee uniqueness of almost anything.) The Cambridge department had already been in existence for 27 years. The central authorities at Cambridge published its Report on the Establishment of a Computing Laboratory in 1936, with the aim of providing a computing service to the sciences while also conducting research on computational techniques. Initially called the Mathematical Laboratory, it developed the EDSAC and other computers, taught programming to Edsger W. Dijkstra in 1951, and established the world's first course in computing (at the master's level) in 1953. Another point of note: Many people imagine the development of computing was driven by the demands of war, but the Mathematical Laboratory (now known as the Computer Laboratory) was created from the outset to meet the needs of science.
Lawrence C. Paulson, Cambridge, England
A programming language is not a user interface but rather an expert-only tool, like, say, a command line but not the language-as-interface concept outlined by Mark Guzdial in his blog "The Difficulty of Teaching Programming Languages, and the Benefits of Hands-on Learning" (July 2014) in response to Andy Ko's earlier blog. Viewing a language as a user interface reflects a flawed understanding of the language. How to learn a programming language depends on whether the programmer has an accurate model of the language, the underlying machine, and what the programmer is trying to accomplish.
I liked Arno Wagner's letter "A Programming Language Is Not a User Interface." It seems written from the point of view that if you want to learn to write better programs, you need to learn to write in a better programming language. I agree but differ.
As the Tools Section Editor of Pascal News and a Lehigh University teacher nearly 40 years ago, I confronted the same issue. General semanticists argue persuasively that language influences thought. I wanted to support good algorithmic thinking. To learn to write better programs I concluded one needed to read good ones first.
I believe Pascal News was one of the earliest publications to show long, well written, well edited and well composed programs. Knuth did this later with his TeXbook.
Perhaps improving program writing starts with improving program reading. Reading well written programs in a readable programming language is, in my opinion, were good programming skills are learned easiest.
Displaying 1 comment