John Cocke

Born May 25, 1925, Charlotte, N. C.; computer scientist who specializes in compiler optimizations techniques.

Education: BS, mechanical engineering, Duke University, 1946; PhD, mathematics, Duke University, 1956.

Professional Experience: IBM research, 1956-1993; fellow, IBM, Yorktown Heights.

Honors and Awards: IEEE Computer Society Pioneer Award, 1989; ACM/IEEE Eckert-Mauchly Award, 1985; ACM Turing Award, 1987; National Medal of Technology, 1991; National Medal of Science, 1994.

Burnout has never bothered John Cocke, the inventor of reduced-instruction-set computer (RISC) technology. His interest in all parts of the computer business and his ability to "always find something a little different" to engage his attention have led to some 22 patents. Besides those for RISC technology, his patents cover logic simulation, coding theory, and compiler optimization. Inventing is something Cocke does with great enthusiasm. A self-motivator, he does not feel acceptance or acclaim are important for motivation. In fact, he enjoys discovering his mistakes because "that is when you learn something." But he recalls no major failures in his career.

Cocke's approach to solving problems is not guided by rules or any particular philosophy. He feels that solutions come through continuous work and does not remember ever having had dramatic flashes of inspiration. Claiming that he is clumsy at using a keyboard or a mouse, he prefers a pencil and paper or a blackboard. He also told IEEE Spectrum that he is more diagram--than word-oriented.

His most productive period, Cocke feels, was when he was about 35 and "wildly interested in computers." At that time, he had the opportunity to work in the laboratories of IBM Corp. with such luminaries as Frederick P. Brooks Jr., now Kenan Professor of Computer Science at the University of North Carolina, Chapel Hill. Cocke describes those days of freedom in thinking, when there were few known procedures at IBM, as energizing, but, ever self-effacing, said he was 'Just there to learn."

Cocke's keen intellect is combined with an avid curiosity and an ability to totally immerse himself in a technical challenge, according to colleagues. "The smartest man I ever met, " said Joel S. Birnbaum, vice president and general manager of the information architecture group at Hewlett-Packard Co., who was once interviewed for a job by Cocke at IBM and subsequently worked there. Lewis M. Branscomb, director of science technology and public policy at Harvard University, Cambridge, Mass., and a former IBM chief scientist, describes Cocke as "one of the very few people I know whose IQ is higher than his blood cholesterol level."

Cocke's interest in inventing was sparked at an early age by an uncle's comment that you could catch a bird by putting salt on its tail. But his attempts to develop an effective salt sprayer failed. He also experimented early on with a device to wash windows. This invention worked. By moving an electromagnet on the inside of a window, he was able to cause a piece of iron attached to a cloth to move in tandem on the outside. Another of his first experiences with "inventing" was a hydraulic pipe wrench. Its jaws were opened and closed by pressing a button each time. But he discovered that such a wrench had already been patented in 1890.

Born May 25, 1925, in Charlotte, N.C., Cocke was the youngest of three sons. His father was chairman of the board of a local power company. Because Cocke was not a good student in grammar school, his mother had to have him tutored. When he got to high school, he did a little better by studying general science and physics, courses he took to avoid taking Latin, a subject he considered "too difficult." The mathematics he felt he could handle without a lot of study, he told Spectrum.

He fared even better at Duke University, Durham, N.C., where he received a bachelor's degree in mechanical engineering in 1946. His courses in engineering and physics were selected because "they were easier" than art courses, which he felt would have been "too difficult memorizing hundreds of paintings and painters."

As a student at Duke, he had been in the US Navy's V-12 program and was called back into the Navy in 1952. In the interval from 1946 to 1952, he held several jobs, including one with a heating and air conditioning company and another with General Electric Co.'s high-voltage laboratories.

Cocke returned to Duke in 1954. While there, he took a summer job at Patrick Air Force Base in Florida, where he designed a Monte Carlo program to determine the optimum number of aircraft required for delivering supplies to the Bahamas. After receiving a doctorate in mathematics from Duke, he joined IBM in 1956. The decision to go with IBM at that time, he said, was a lucky one: it put him where the action was in computer development.

Over the years his work habits have changed. When he was younger, he arrived at work late and stayed late, principally to have access to a computer, a scarce resource in those days. He often stayed up all night, he said, so satisfying was it to get a lot done. Now, because he needs "to sleep at night," his work hours are more routine.

In his younger years, too, Cocke used to ski, play golf, and unicycle. He has never been a game-playing type, he told us. He prefers, for example, to speculate on how to build a chess-playing machine, rather than to play chess itself.

Cocke's successes have been recognized at the highest levels. In September President Bush named him a recipient of the 1991 National Medal of Technology "for his development and implementation of Reduced Instruction Set Computer (RISC) architecture that significantly increased the speed and efficiency of computers, thereby enhancing US technological competitiveness."

In 1987 Cocke received the Turing Award from the Association for Computing Machinery-the group's highest honor for technical contributions in computing. In 1990 he was the first to receive the US $100,000 IBM John E. Bertram Award for sustained technical excellence. In making the award, IBM chairman John F. Akers said, "John has that rare ability to understand and synthesize both hardware and software concepts, optimize the design of both, and produce a unique synergy."

In 1991, a group of Cocke's colleagues held an all-day symposium celebrating his 35th year with IBM. Some attendees also participated in a videotape, "John Cocke: a retrospective by friends." On the tape, Abraham Peled, now IBM's Research Division vice president and director of computer sciences, remembered being interviewed by Cocke. "John asked what my thesis topic was," he said. "After I had talked for about 5 minutes on the topic-digital signal processing--he went to the blackboard and more or less wrote out a major part of my thesis. It was a rude awakening. " [From Jurgen 1991.]

In the announcement of the award of the National Medal of Science in 1994, the National Science Foundation attributed the award to "his contributions to computer science in the design and theory of compilers and for major advances in the theory and practice of high-performance computer systems. RISC machines are the essential building blocks for today's high-performance parallel machines. Cocke's thinking and technical leadership has been widely credited for setting the tone for these developments. The RISC concept is a stunning unification of hardware architecture and optimization compiler technology and John Cocke had the total mastery of both fields to have made the RISC breakthrough."


In reflecting on his career, Cocke is self-critical: "Things have always taken too long," he said.



Jurgen, Ronald K, "John Cocke: Vision with Enthusiasm," IEEE Spectrum, Dec. 1991, pp. 33-34.

Significant Publications

Allen, F. E., and J. Cocke, "A Catalogue of Optimizing Transformations," Courant Computer Science Symp. 5, Prentice Hall, 1972, pp. 1-30.

Allen, F. E., and J. Cocke, "A Program Data Flow Analysis Procedure," Comm. ACM, Vol. 19, No. 3, Mar. 1976, pp. 137-147.

Cocke, J., "Global Common Subexpression Elimination," Proc. Symposium of Compiler Optimization, SIGPLAN Notices, July 1970.

Cocke, J., and R.E. Miller, "Some Analysis Techniques for Optimizing Computer Programs," IBM Research Center, Yorktown Heights, New York.


John Cocke died July 16, 2002. Portrait added (MRW, 2012).

PDF version

Original content Copyright © 1995 by the Institute of Electrical and Electronics Engineers Inc.
New content Copyright © 2013-2015 by the IEEE Computer Society and the Institute of Electrical and Electronics Engineers Inc.
All rights reserved. This material may not be reproduced or redistributed without the express written permission of the copyright holder.