Melvin Conway

Melvin Edward Conway is an American computer scientist, computer programmer, and hacker who coined what is now known as Conway's law: "Organizations, who design systems, are constrained to produce designs which are copies of the communication structures of these organizations." The adage remains relevant in modern software engineering and is still being referenced and investigated.

Apart from the above, Conway is perhaps most famous for developing the concept of coroutines. Conway coined the term coroutine in 1958 and he was the first to apply the concept to an assembly program. He later authored a seminal paper on the subject of coroutines, titled "Design of a Separable Transition-diagram Compiler", which included the first published explanation of the concept. In this paper, he proposed organizing a compiler as a set of coroutines, which allows using separate passes while debugging and then running a single pass compiler in production. Another famous paper is his 1958 proposal of an UNCOL, a Universal Computer Oriented Language, which attempted to provide a solution to economically produce compilers for new programming languages and computer architectures.

Conway wrote an assembler for the Burroughs model 220 computer called SAVE. The name SAVE was not an acronym, but a feature: programmers lost fewer punched card decks because they all had "SAVE" written on them.

His work on Pascal compiler for Rockwell Semiconductor (an immediate-turnaround Pascal trainer for the Rockwell AIM-65) led to an arrangement between Apple and Think Technologies (where he served as a principal) under which the latter produced the original (1984) Mac Pascal and Apple II Instant Pascal.

In the 1970s, he was involved with the MUMPS (Massachusetts General Hospital Utility Multi-Programming System) medical programming language standard specification for the National Bureau of Standards. He also wrote a reference book on MUMPS in 1983.

Conway was granted a US patent in 2001 on "Dataflow processing with events", concerned with programming using graphical user interfaces. The patent expired in 2019.

In 2002, Conway obtained a teacher license for high school math and physics in Massachusetts. He taught at Chelsea High School from 2002 to 2006.

Education

 * Ph.D. Mathematics, Case Western Reserve University (1961). Dissertation: "A Set-Theoretic Model For Logical Systems", Advisor: Raymond John Nelson
 * M.S. Physics, California Institute of Technology
 * B.S. Physics, Case Western Reserve University

Selected publications

 * Conway, Melvin E. (July 1963). "Design of a separable transition-diagram compiler". Communications of the ACM, vol. 6, num. 7, pp. 396–408. doi: 10.1145/366663.366704
 * Conway, Melvin E. (April 1968). "How do Committees Invent?". Datamation, vol. 14, num. 4, pp. 28–31.