# Melvin Conway

Melvin Edward Conway és un científic d'ordinadors, programador d'ordinadors, i hacker que va encunyar el que es coneix com a Llei de Conway: "Les organitzacions, que dissenyen sistemes, estan constretes a produir dissenys els quals són còpies de les organitzacions de comunicació d'aquestes organitzacions". L'adagi guanyà rellevància en enginyeria de programari moderna i és sovint referenciada en investigació.
A part de l'anterior adagi, Conway és potser el més famós per desenvolupar el concepte de coroutines. Conway va encunyar el terme coroutine el 1958 i va ser el primer a aplicar el concepte a un llenguatge d'assemblador. Més tard va escriure un article fonamental sobre el tema de les coroutines, titulat "Disseny d'un compilador de diagrames de transició separables", que incloïa la primera explicació publicada del concepte. En aquest article, va proposar organitzar un compilador com un conjunt de coroutines, que permet utilitzar passades separades durant la depuració i, a continuació, executar un compilador d'una sola passada en producció. Un altre famós article és la seva proposta el 1958 d'un llenguatge universal orientat a l'ordinador (UNCOL), que va intentar proporcionar una solució per produir econòmicament compiladors per a nous llenguatges de programació i arquitectures d'ordinador.
Conway va escriure un assemblador per a l'ordinador Burroughs model 220 anomenat SAVE. El nom SAVE no era un acrònim, sinó una característica: els programadors van perdre menys baralles de targetes perforades perquè tots tenien escrit "SAVE".
El seu treball en el compilador Pascal per a Rockwell Semiconductor (un entrenador Pascal de canvi immediat per al Rockwell AIM-65) va conduir a un acord entre Apple i Think Technologies (on va exercir com a director) sota el qual aquest últim va produir el Mac original (1984) un Mac Pascal i l'Apple II Instant Pascal.
En la dècada de 1970, es va veure involucrat amb MUMPS (Massachusetts General Hospital Utility Multi-Programming System), un llenguatge de programació mèdica amb especificació estàndard per a la Oficina Nacional de Normalització. També va escriure un llibre de referència sobre MUMPS el 1983.
A Conway se li va concedir una patent als Estats Units l'any 2001 sobre "Processament de flux de dades amb esdeveniments", relacionada amb la programació mitjançant interfícies gràfiques d'usuari. La patent va caducar el 2019.
El 2002, Conway va obtenir una llicència de professor de matemàtiques i física de secundària a Massachusetts. Va ensenyar a Chelsea High School des del 2002 fins al 2006.

## Educació

* Ph.D. Matemàtiques, Case Western Reserve University (1961). Tesi: "A Set-Theoretic Model For Logical Systems", Assessor: Raymond John Nelson
* MS Physics, Institut Tecnològic de Califòrnia
* BS Física, Universitat Case Western Reserve

## Publicacions seleccionades

* Conway, Melvin E. (juliol de 1963). "Design of a separable transition-diagram compiler". "Design of a separable transition-diagram compiler", vol. 6, núm. 7, pàgs. 396–408. doi: 10.1145/366663.366704
* Conway, Melvin E. (abril de 1968). "How do Committees Invent?" . Datamation, vol. 14, núm. 4, pàgs. 28–31.

## Referències

* ↑ Conway, Melvin E. «How do Committees Invent?». Datamation, 14, 4-1968, pàg. 28–31. Arxivat de l'original el 2019-10-10 [Consulta: 10 octubre 2019]. «[…] organizations which design systems […] are constrained to produce designs which are copies of the communication structures of these organizations.»
* ↑ Kamola, Mariusz «How to Verify Conway's Law for Open Source Projects». IEEE Access, 7, 2019, pàg. 38469–38480. DOI: 10.1109/ACCESS.2019.2905671. ISSN: 2169-3536.
* ↑ Imtiaz, Salma; Ikram, Naveed «Dynamics of task allocation in global software development: Dynamics of task allocation in global software development» (en anglès). Journal of Software: Evolution and Process, 29, 1, 27-01-2017, pàg. e1832. DOI: 10.1002/smr.1832.
* 1 2 Knuth, Donald Ervin. Fundamental Algorithms. 1. 3rd. Addison-Wesley, 1997. ISBN 978-0-201-89683-1. «The word "coroutine" was coined by M. E. Conway in 1958, after he had developed the concept, and he first applied it to the construction of an assembly program. […] The first published explanation of the coroutine concept appeared much later in Conway's article "Design of a Separable Transition-Diagram Compiler," […]»
* ↑ Conway, Melvin E. «Design of a Separable Transition-diagram Compiler». Communications of the ACM. ACM, 6, 7, 7-1963, pàg. 396–408. DOI: 10.1145/366663.366704. ISSN: 0001-0782.
* ↑ Conway, Melvin E. «Proposal for an UNCOL». Communications of the ACM. ACM, 1, 10, 10-1958, pàg. 5–8. DOI: 10.1145/368924.368928. ISSN: 0001-0782.
* ↑ Raymond, Eric S. The New Hacker's Dictionary. 3rd. Cambridge, Massachusetts: MIT Press, octubre 1996, p. 124. ISBN 978-0-262-68092-9. «The name 'SAVE' didn't stand for anything; it was just that you lost fewer card decks and listings because they all had SAVE written on them.»
* ↑ «Foreword: 1977 Version of ANSI Standard». MUMPS Development Committee, 29-11-2011. «MUMPS, an acronym for Massachusetts General Hospital Utility Multi-Programming System, is a high-level, interactive computer programming language […] Part I of this Standard, the MUMPS Language Specification, MDC/28, was prepared by Melvin E. Conway under Contract No. 5–35770 with the National Bureau of Standards.»
* ↑ Conway, Melvin E. Mumps Programming Reference Manual. MUMPS Users' Group, 1983. ISBN 0918118255. OCLC 9862807.
* ↑ Melvin Conway a l'USPTO (anglès)
* ↑ Conway, Melvin E. «Mel Conway's Home Page». «In 2002 I obtained a license to teach high school math and physics in Massachusetts, and I taught at Chelsea High School from 2002 to 2006.»
* ↑ «Melvin Edward Conway».
* 1 2 Conway, Melvin. «Mel Conway, Ph.D.», 07-11-2009.

## Enllaços externs

* Melvin Conway - Lloc web oficial
* Melvin Conway al Mathematics Genealogy Project.