Melvin Edward Conway es un informático, programador y hacker estadounidense que acuñó lo que hoy se conoce como 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 dicho sigue siendo relevante en la ingeniería de software moderna y todavía se hace referencia a él y se lo investiga. [2] [3]
Aparte de lo anterior, Conway es quizás más famoso por desarrollar el concepto de corrutinas . Conway acuñó el término corrutina en 1958 y fue el primero en aplicar el concepto a un programa de ensamblaje . [4] Posteriormente fue autor de un artículo fundamental sobre el tema de las corrutinas, titulado "Diseño de un compilador de diagramas de transición separables", [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 pases separados durante la depuración y luego ejecutar un compilador de un solo paso en producción. Otro artículo famoso es su propuesta de 1958 de un UNCOL, [6] un lenguaje universal orientado a computadoras , que intentaba proporcionar una solución para producir compiladores de manera económica para nuevos lenguajes de programación y arquitecturas de computadoras .
Conway escribió un ensamblador para la computadora Burroughs modelo 220 llamado SAVE. El nombre SAVE no era un acrónimo, sino una característica: los programadores perdían menos barajas de tarjetas perforadas porque todas tenían escrito "SAVE". [7]
Su trabajo en el compilador Pascal para Rockwell Semiconductor (un entrenador Pascal de respuesta inmediata para el Rockwell AIM-65) llevó 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 Pascal instantáneo.
En la década de 1970, participó en la especificación estándar del lenguaje de programación médica MUMPS ( M assachusetts General Hospital U tility Multi - Programming System ) para la Oficina Nacional de Estándares . [8] También escribió un libro de referencia sobre Paperas en 1983. [9]
A Conway se le concedió una patente estadounidense en 2001 sobre "Procesamiento de flujo de datos con eventos", relacionada con la programación mediante interfaces gráficas de usuario . La patente expiró en 2019. [10]
En 2002, Conway obtuvo una licencia de profesor de matemáticas y física de secundaria en Massachusetts . Enseñó en Chelsea High School de 2002 a 2006. [11]
[…] 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.
La palabra "corrutina" 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 ensamblaje. […] La primera explicación publicada del concepto de rutina apareció mucho más tarde en el artículo de Conway "Diseño de un compilador de diagramas de transición separables", […]
El nombre 'SAVE' no significaba nada; era solo que perdiste menos barajas de cartas y listados porque todos tenían escrito GUARDAR.
MUMPS, acrónimo de Massachusetts General Hospital Utility Multi-Programming System, es un lenguaje de programación de computadoras interactivo de alto nivel […] La Parte I de este Estándar, la Especificación del Lenguaje MUMPS, MDC/28, fue preparada por Melvin E. Conway bajo Contrato No. 5–35770 con la Oficina Nacional de Normas.
En 2002 obtuve una licencia para enseñar matemáticas y física en escuelas secundarias en Massachusetts, y enseñé en Chelsea High School de 2002 a 2006.