La historia de Mel es una pieza arquetípica del folclore de programación informática . Su tema, Melvin Kaye , [1] es un " Programador real " ejemplar cuyas sutiles técnicas fascinan a sus colegas.
Historia
The Story of Mel, de Ed Nather , detalla la extraordinaria destreza en programación de un ex colega suyo, "Mel", en Royal McBee Computer Corporation . [2] [3] Aunque originalmente escrito en prosa, la historia de Nather fue modificada por alguien en una forma de "verso libre" que se ha generalizado. [4] [5]
Poco se sabe sobre Mel Kaye, más allá del hecho de que se le atribuyó el "grueso de la programación" en el compilador ACT-1 de 1959 para la computadora Royal McBee LGP-30 . [6] [7] La historia de En Nather, Kaye es retratado como ser propensos a evitar montadores optimizando a favor de la elaboración de código para tomar ventaja de peculiaridades de hardware, por ejemplo aprovechando la rotación de la LGP-30 's memoria de tambor para evitar escribir bucles de retardo en el código.
La historia, escrita por Nather, involucró el trabajo de Kaye en la reescritura de un programa de blackjack del LGP-30 a un sistema Royal McBee más nuevo, el RPC-4000 ; Los ejecutivos de ventas de la empresa habían solicitado modificar el programa para poder activar un interruptor del panel frontal y hacer que el programa se perdiera (y que el usuario ganara). Kaye accedió de mala gana a la solicitud, pero para su propio deleite, se equivocó en la prueba y, en cambio, el cambio haría que el programa ganara cada vez (y que el usuario perdiera).
Después de la partida de Kaye, se le pidió a Nather que arreglara el error. Mientras examinaba el código, se quedó perplejo al descubrir que contenía lo que parecía ser un bucle infinito , pero el control no permanecía dentro del bucle. Finalmente, se dio cuenta de que Kaye estaba usando código auto modificable para procesar elementos de una matriz y había codificado el ciclo de tal manera que se aprovechara de un desbordamiento . Agregar 1 al campo de dirección de una instrucción que se refería a la dirección x normalmente solo cambiaba la dirección ax +1. Pero cuando x ya era la dirección más alta posible, no solo la dirección se ajustaba a 0, sino que se llevaba un 1 a los bits desde los que se leería el código de operación , en este caso cambiando el código de operación a "saltar a" para que el la instrucción completa se convirtió en "saltar a la dirección 0". Esto impresionó tanto a Nather que, por respeto, abandonó la tarea e informó que no podía encontrar el error.
Las primeras computadoras del diseño de máquinas IAS no tenían registro de índice. El uso de código de modificación automática era necesario para las operaciones de matriz. La instrucción LGP-30 "y 2000" sí "reemplazó el contenido de la parte de la dirección de la palabra en la ubicación de memoria 2000 con el contenido de la parte de la dirección de la palabra en el acumulador" para facilitar la escritura de código de modificación automática. [8]
Historia
El ensayo fue publicado originalmente en el grupo de noticias de Usenet "net.followup" el 21 de mayo de 1983 por utastro! Nather (la dirección de correo electrónico UUCP de Ed Nather en ese momento). [2] [3]
Las computadoras Royal McBee fueron desarrolladas y fabricadas por Librascope , y la documentación escrita para el programa de blackjack fue escrita por Mel Kaye de Librascope Inc. La edición de agosto de 1956 de The Librazette , el boletín de Librascope, contiene una historia sobre la capacitación en el LGP-30. , y menciona que algunos ingenieros de aplicaciones de Librascope fueron transferidos a la nómina de Royal McBee. Entre los ingenieros nombrados se encuentra Mel Kaye. [1]
Hay una fotografía en la portada de ese número que muestra esa primera clase de programadores neófitos LGP-30 y los instructores, incluido Mel Kaye. [9]
Ver también
Referencias
- ^ a b "Memorias de Librascope" (PDF) . La Librazette . Librascope Inc.
- ^ a b Raymond, Eric S. , ed. (1 de julio de 1992). "The Jargon File, versión 2.9.10, 01 de julio de 1992 (jargon2910.ascii.gz)" ( GZ ) . line 20505. Archivado desde el original el 9 de marzo de 2017 . Consultado el 1 de julio de 2014 .
- ^ a b Matt Crawford (20 de noviembre de 1984). "El programador más real de todos" . Grupo de noticias : net.jokes . Usenet: [email protected] . Consultado el 22 de diciembre de 2019 .
- ^ La historia de Mel versión en verso gratuito
- ^ "La historia de Mel, un programador real, anotado" . www.cs.utah.edu .
- ^ Bill von Hagen (1 de junio de 1994). "Nueva luz sobre la leyenda de Mel" . Grupo de noticias : alt.folklore.computers . Usenet: [email protected] . Consultado el 22 de diciembre de 2019 .
- ^ "En particular, Mel Kaye de Royal McBee ..." , FOLDOC, imperial.ac.uk
- ^ Royal McBee Corporation (abril de 1957). ORYAL PRECISION Ordenador Electrónico LGP - 30 MANUAL DE PROGRAMACIÓN . Port Chester, Nueva York: Royal McBee Corporation . Consultado el 17 de marzo de 2020 .
- ^ "Mel Kaye en la primera clase de formación LGP-30" . la Librazette . Librascope Inc.
Otras lecturas
- utastro! nather (1983-05-21), The Story of Mel - Un artículo reciente dedicado al lado * macho * de la programación hizo la declaración simple y sin adornos: Los programadores reales escriben en Fortran. , Greg Lindahl, archivado desde el original el 9 de marzo de 2017 , consultado el 9 de marzo de 2017 (NB. Una copia de la versión en prosa original.)
- utastro! nather (21 de mayo de 1983), re: Real Programmers ... , Rob Stampfli , consultado el 11 de febrero de 2018 (Una copia completamente original de la publicación de Usenet de Ed Nather, con encabezados)
- Nather, Ed (2003-09-12) [1983-05-21], The story of Mel, a Real Programmer , FOLDOC , archivado desde el original el 2017-03-09 , consultado el 2017-03-09 (Nota: puntuación agregada / corregida para facilitar la lectura. Contiene un enlace a la cinta del programa de blackjack para LGP-30)
- Jennings, Tom, ed. (2000-11-30) [1956-10-18], Mel the Programmer: LGP-30 Coding Sheet - Program 13.0 , archivado desde el original el 2017-03-09 , consultado el 2017-03-09 (Firma de Mel Kaye] en una hoja de codificación para el LGP-30.)
- Kaye, Mel , Manual para el juego de blackjack (PDF) , EE.UU .: Librascope, Inc. , Programa RPC-4000 W1-01.0, archivado (PDF) desde el original el 9 de marzo de 2017 , consultado el 8 de marzo de 2017 (NB. Presumiblemente el tema de la historia original).
- Seibel, James (8 de abril de 2015), Explicación de 'The Story of Mel' , consultado el 18 de febrero de 2018 (NB. Análisis detallado de la historia, explicando los detalles técnicos).
- "Programadores machistas, memoria de batería y un análisis forense del código máquina de los años sesenta" . freeCodeCamp.org . 2 de abril de 2018. Contiene aún más detalles técnicos
- van den Bogaard, Adrienne (2008). "Stijlen van programmeren 1952-1972" . Studium . 1 (2): 128-144. doi : 10.18352 / studium.1459 . Consultado el 14 de agosto de 2018 .