The Full Wiki

Alan Perlis: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Alan Jay Perlis
Born April 1, 1922(1922-04-01)
Pittsburgh, Pennsylvania, USA
Died February 7, 1990 (aged 67)
Nationality  United States
Fields Computer Science
Institutions Association for Computing Machinery
Carnegie Mellon University
Yale University
Alma mater Carnegie Mellon, MIT
Doctoral advisor Philip Franklin
Doctoral students Gary Lindstrom
Zohar Manna
David Parnas
Known for IT, ALGOL
Notable awards Turing Award

Alan Jay Perlis (April 1, 1922 – February 7, 1990) was an American computer scientist known for his pioneering work in programming languages and the first recipient of the Turing Award.


Perlis was born to a Jewish family in Pittsburgh, Pennsylvania. In 1943, he received his bachelor's degree in chemistry from the Carnegie Institute of Technology (now Carnegie Mellon University). During World War II, he served in the U.S. Army, where he became interested in mathematics. He then earned both a master's degree (1949) and a Ph.D. (1950) in mathematics at MIT. His doctoral dissertation was titled "On Integral Equations, Their Solution by Iteration and Analytic Continuation".

In 1952, he participated in Project Whirlwind. He joined the faculty at Purdue University and then moved to the Carnegie Institute of Technology in 1956. He was chair of mathematics and then the first head of the Computer Science Department. He was elected president of the Association for Computing Machinery in 1962.

He was awarded the Turing Award in 1966, according to the citation, for his influence in the area of advanced programming techniques and compiler construction. This is a reference to the work he had done as a member of the team that developed the ALGOL programming language.

In 1971, Perlis moved to Yale University to become the chair of Computer Science and hold the Eugene Higgins chair. Perlis was elected to the National Academy of Engineering in 1977.

In 1982, he wrote an article, Epigrams on Programming, for ACM's SIGPLAN journal, describing in one-sentence distillations many of the things he had learned about programming over his career. The epigrams have been widely quoted.

He remained at Yale until his death in 1990.


External links



Up to date as of January 14, 2010

From Wikiquote

Alan Jay Perlis (1922-04-011990-02-07) was an American computer scientist known for his pioneering work in programming languages, most notably as a member of the team that developed the ALGOL programming language. He was the first recipient of the prestigious ACM Turing Award.



  • I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more.
    • Quoted in The Structure and Interpretation of Computer Programs by Hal Abelson, Gerald Jay Sussman and Julie Sussman (McGraw-Hill, 2nd edition, 1996)
  • We toast the Lisp programmer who pens his thoughts within nests of parentheses.
    • Quoted in The Structure and Interpretation of Computer Programs

The Synthesis of Algorthmic Systems (1966)

1966 Turing Award lecture [1], Journal of the ACM 14 (1), January 1967, pp. 1–9

  • Both knowledge and wisdom extend man's reach. Knowledge led to computers, wisdom to chopsticks.
  • There is an appreciated substance to the phrase "ALGOL-like" which is often used in arguments about programming, languages and computation. ALGOL appears to be a durable model, and even flourishes under surgery — be it explorative, plastic, or amputative.
  • The vision we have of conversational programming takes in much more than rapid turn around time and convenient debugging aids: our most interesting programs are never wrong and never final. [...] What is new is the requirement to make variable in our languages what we had previously taken as fixed. I do not refer to new data classes now, but to variables whose values are programs or parts of programs, syntax or parts of syntax, and regimes of control.
  • This language [LISP] induces humorous arguments among programmers, often being damned and praised for the same feature.
  • Programmers should never be satisfied with languages which permit them to program everything, but to program nothing of interest easily.
  • Computer science is a restless infant and its progress depends as much on shifts in point of view as on the orderly development of our current concepts.

Epigrams on Programming (1982)

ACM SIGPLAN Notices 17 (9), September 1982, pp. 7–13 [2]

  • 1: One man's constant is another man's variable.
  • 8: A programming language is low level when its programs require attention to the irrelevant.
  • 11: If you have a procedure with 10 parameters, you probably missed some.
  • 16 Every program has (at least) two purposes: the one for which it was written and another for which it wasn't.
  • 19: A language that doesn't affect the way you think about programming, is not worth knowing.
  • 31: Simplicity does not precede complexity, but follows it.
  • 39: A picture is worth 10K words - but only those to describe the picture. Hardly any sets of 10K words can be adequately described with pictures.
  • 41: Some programming languages manage to absorb change, but withstand progress.
  • 42: You can measure a programmer's perspective by noting his attitude on the continuing vitality of FORTRAN.
  • 55: LISP programmers know the value of everything and the cost of nothing.
  • 57: It is easier to change the specification to fit the program than vice versa.
  • 58 Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
  • 59: In English every word can be verbed. Would that it were so in our programming languages.
  • 64: Often it is means that justify ends: Goals advance technique and technique survives even when goal structures crumble.
  • 75: The computing field is always in need of new cliches: Banality sooths our nerves.
  • 79: A year spent in artificial intelligence is enough to make one believe in God.
  • 80: Prolonged contact with the computer turns mathematicians into clerks and vice versa.
  • 95: Don't have good ideas if you aren't willing to be responsible for them.
  • 101 Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve.
  • 116: You think you know when you learn, are more sure when you can write, even more when you can teach, but certain when you can program.
  • 117: It goes against the grain of modern education to teach students to program. What fun is there to making plans, acquiring discipline in organizing thoughts, devoting attention to detail and, learning to be self-critical?


  • I think it is inevitable that people program poorly. Training will not substantially help matters. We have to learn to live with it.

External links

Wikipedia has an article about:


Got something to say? Make a comment.
Your name
Your email address