Melvin Edward Conway es un informático, programador y pirata informático que acuñó lo que ahora se conoce como la ley de Conway : "Las organizaciones, que diseñan sistemas, están obligadas a producir diseños que sean copias de las estructuras de comunicación de estas organizaciones". [1] El adagio sigue siendo relevante en la ingeniería de software moderna y todavía está siendo referenciado e investigado. [2] [3]
Aparte de lo anterior, Conway es quizás más famoso por desarrollar el concepto de corrutinas . Conway acuñó el término coroutine en 1958 y fue el primero en aplicar el concepto a un programa de montaje . [4] Más tarde fue autor de un artículo fundamental sobre el tema de las corrutinas, titulado "Diseño de un compilador de diagrama de transición separable", [5] que incluía la primera explicación publicada del concepto. [4] En este artículo, propuso organizar un compilador como un conjunto de corrutinas, lo que permite usar pasadas separadas durante la depuración y luego ejecutar un compilador de una sola pasada en producción. Otro documento famoso es su propuesta de 1958 de una UNCOL , [6] unUn iversal C omputer O riented L anguage, que intentó proporcionar una solución para producir económicamente compiladores para nuevos lenguajes de programación y arquitecturas de computadora .
Conway escribió un ensamblador para la computadora modelo 220 de Burroughs llamado SAVE. El nombre SAVE no era un acrónimo, sino una característica: los programadores perdieron menos mazos de cartas perforados porque todos tenían escrito "SAVE". [7]
Su trabajo en el compilador de Pascal para Rockwell Semiconductor (un entrenador de Pascal de cambio inmediato para el Rockwell AIM-65) condujo a un acuerdo entre Apple y Think Technologies (donde se desempeñó como director) bajo el cual este último produjo el Mac original (1984). Pascal y Apple II Instant Pascal.
En la década de 1970, se vio involucrado con las paperas ( M assachusetts Hospital General U tilidad M en última P rogramación S istema) lenguaje de programación médica especificación estándar para la Oficina Nacional de Normalización . [8] También escribió un libro de referencia sobre MUMPS en 1983. [9]
Conway recibió una patente estadounidense en 2001 sobre "Procesamiento de flujo de datos con eventos", relacionado con la programación mediante interfaces gráficas de usuario . La patente expiró en 2019. [10]
En 2002, Conway obtuvo una licencia de maestro de matemáticas y física en la escuela secundaria en Massachusetts . Enseñó en Chelsea High School hasta 2006. [11]
Educación
- Doctor. Matemáticas, Universidad Case Western Reserve (1961). Disertación: "Un modelo teórico de conjuntos para sistemas lógicos", Asesor: Raymond John Nelson [12]
- MS Physics, Instituto de Tecnología de California [13]
- Licenciatura en Física, Universidad Case Western Reserve [13]
Publicaciones Seleccionadas
- Conway, Melvin E. (julio de 1963). "Diseño de un compilador de diagrama de transición separable" . Comunicaciones de la ACM , vol. 6, núm. 7, págs. 396–408. doi: 10.1145 / 366663.366704
- Conway, Melvin E. (abril de 1968). "¿Cómo inventan los comités?" . Datamation , vol. 14, núm. 4, págs. 28–31.
Referencias
- ^ Conway, Melvin E. (abril de 1968). "¿Cómo inventan los comités?" . Datamación . 14 (5): 28–31. Archivado desde el original el 10 de octubre de 2019 . Consultado el 10 de octubre de 2019 .
[…] Las organizaciones que diseñan sistemas […] están obligadas a producir diseños que sean copias de las estructuras de comunicación de estas organizaciones.
- ^ Kamola, Mariusz (2019). "Cómo verificar la ley de Conway para proyectos de código abierto" . Acceso IEEE . 7 : 38469–38480. doi : 10.1109 / ACCESS.2019.2905671 . ISSN 2169-3536 .
- ^ Imtiaz, Salma; Ikram, Naveed (27 de enero de 2017). "Dinámica de la asignación de tareas en el desarrollo de software global: Dinámica de la asignación de tareas en el desarrollo de software global". Revista de Software: Evolución y Proceso . 29 (1): e1832. doi : 10.1002 / smr.1832 .
- ^ a b Knuth, Donald Ervin (1997). Algoritmos fundamentales (PDF) . El arte de la programación informática. 1 (3ª ed.). Addison-Wesley. Sección 1.4.5: Historia y bibliografía, págs. 229. ISBN 978-0-201-89683-1. Archivado (PDF) desde el original el 21 de octubre de 2019.
La palabra "coroutine" fue acuñada por ME Conway en 1958, después de haber desarrollado el concepto, y lo aplicó por primera vez a la construcción de un programa de montaje. […] La primera explicación publicada del concepto de corrutina apareció mucho más tarde en el artículo de Conway "Diseño de un compilador de diagrama de transición separable", […]
- ^ Conway, Melvin E. (julio de 1963). "Diseño de un compilador de diagrama de transición separable" (PDF) . Comunicaciones de la ACM . ACM. 6 (7): 396–408. doi : 10.1145 / 366663.366704 . ISSN 0001-0782 . S2CID 10559786 .
- ^ Conway, Melvin E. (octubre de 1958). "Propuesta de UNCOL". Comunicaciones de la ACM . ACM. 1 (10): 5–8. doi : 10.1145 / 368924.368928 . ISSN 0001-0782 . S2CID 6797697 .
- ^ Raymond, Eric S. (octubre de 1996). The New Hacker's Dictionary (3ª ed.). Cambridge, Massachusetts: MIT Press. pag. 124. ISBN 978-0-262-68092-9.
El nombre 'SAVE' no significaba nada; fue solo que perdió menos barajas de cartas y listados porque todos tenían escrito GUARDAR.
- ^ "Prólogo: versión 1977 del estándar ANSI" . Estándares Anotados M [UMPS] . Comité de Desarrollo de MUMPS. 29 de noviembre de 2011 . Consultado el 21 de octubre de 2019 .
MUMPS, un acrónimo de Massachusetts General Hospital Utility Multi-Programming System, es un lenguaje de programación de computadora interactivo de alto nivel […] La Parte I de esta Norma, la Especificación del Lenguaje MUMPS, MDC / 28, fue preparada por Melvin E. Conway bajo Contrato núm. 5-35770 con la Oficina Nacional de Normas.
- ^ Conway, Melvin E. (1983). Dayhoff, Ruth E. (ed.). Manual de referencia de programación de paperas . Grupo de usuarios de MUMPS. ISBN 0918118255. OCLC 9862807 .
- ^ Patente de EE. UU. 6272672B1
- ^ Conway, Melvin E. "Página de inicio de Mel Conway" . www.melconway.com . Consultado el 6 de octubre de 2019 .
En 2002 obtuve una licencia para enseñar matemáticas y física en la escuela secundaria en Massachusetts, y enseñé en Chelsea High School de 2002 a 2006.
- ^ "Melvin Edward Conway" . Proyecto de genealogía matemática . Consultado el 6 de octubre de 2019 .
- ^ a b Conway, Melvin (7 de noviembre de 2009). "Mel Conway, Ph.D." (PDF) . Página de inicio de Mel Conway . Consultado el 6 de octubre de 2019 .
enlaces externos
- melconway.com Página de inicio personal de Conway
- @conways_law Perfil de Twitter de Conway
- Melvin Conway en el Proyecto de genealogía matemática