Příběh Mel - The Story of Mel
Příběh Mel je archetypální kousek programování folklór. Jeho předmět, Melvin Kaye,[1] je příkladný “Skutečný programátor „jehož jemné techniky fascinují jeho kolegy.
Příběh
Ed Nather je Příběh Mel podrobně popisuje mimořádnou schopnost programování bývalého jeho kolegy „Mel“ v Royal McBee Computer Corporation.[2][3] Ačkoli byl původně napsán v próze, Natherův příběh někdo upravil do podoby „volného verše“, která se rozšířila.[4][5]
O Mel Kayeovi je toho známo jen málo, kromě toho, že se mu připisovalo „hlavní části programování“ na kompilátoru ACT-1 z roku 1959 pro Royal McBee LGP-30 počítač.[6][7] V příběhu Nather je Kaye vylíčena jako náchylná k vyhýbání se optimalizace assemblerů ve prospěch vytváření kódu, aby se využily hardwarové zvláštnosti, například využití rotace LGP-30 je paměť bubnu vyhnout se psaní zpožďovací smyčky do kódu.
Příběh, jak jej napsal Nather, zahrnoval Kayeho práci na přepsání a blackjack program od LGP-30 po novější systém Royal McBee, RPC-4000; obchodní ředitelé společnosti požádali o úpravu programu tak, aby mohli přepnout přepínač na předním panelu a způsobit ztrátu programu (a vyhrát uživatele). Kaye k žádosti neochotně přistoupil, ale ke své vlastní radosti dostal test špatně a přepínač by místo toho způsobil, že program pokaždé vyhraje (a uživatel ztratí).
Po odchodu Kaye byl Nather požádán, aby chybu opravil. Při zkoumání kódu byl zmatený a zjistil, že obsahuje něco, co vypadalo jako nekonečná smyčka, přesto kontrola nezůstala uvnitř smyčky. Nakonec si uvědomil, že Kaye používá samočinně se měnící kód zpracovat prvky pole a kódoval smyčku tak, aby využil výhody přetékat. Přidání 1 do pole adresy instrukce, která odkazovala na adresu X obvykle jen změnil adresu na X+1. Ale když X byla již nejvyšší možná adresa, nejenže se adresa zalomila na 0, ale 1 byla přenesena do bity ze kterého operační kód bude přečteno - v tomto případě se změní operační kód na „přeskočit na“, takže celá instrukce se změní na „přeskočit na adresu 0“. To na Nather tak zapůsobilo, že se z úcty vzdal úkolu a hlásil, že tu chybu nenašel.
Počáteční počítače Stroj IAS design neměl indexový registr. Pro operace s poli bylo nutné použít samočinně se měnící kód. Instrukce LGP-30 „y 2000“ „nahradila obsah adresové části slova v paměťovém místě 2000 obsahem adresní části slova v akumulátoru“, aby se usnadnil zápis samočinně se měnícího kódu.[8]
Dějiny
Esej byla původně publikována v Usenet zpravodajská skupina "net.followup" dne 21. května 1983 autorem utastro! nather ( UUCP e-mailová adresa Eda Nathera v té době).[2][3]
Počítače Royal McBee byly vyvinuty a vyrobeny společností Librascope a dokumentace napsaná pro blackjack program napsal Mel Kaye z Librascope Inc. Vydání srpna 1956 LibrazetteNewsletter Librascope obsahuje příběh o školení na LGP-30 a zmiňuje, že někteří aplikační inženýři Librascope byli převedeni na výplatní listinu Royal McBee. Mezi jmenovanými inženýry je Mel Kaye.[1]
Na titulní stránce tohoto čísla je fotografie ukazující první třídu začínajících programátorů LGP-30 a instruktorů, včetně Mel Kaye.[9]
Viz také
Reference
- ^ A b "Vzpomínky na librakoskop" (PDF). Librazette. Librascope Inc.
- ^ A b Raymond, Eric S., vyd. (01.07.1992). „The Jargon File, verze 2.9.10, 1. července 1992 (jargon2910.ascii.gz)“ (GZ ). linka 20505. Archivováno z původního dne 2017-03-09. Citováno 2014-07-01.
- ^ A b Matt Crawford (20. listopadu 1984). „Skutečný programátor ze všech“. Diskusní skupina: net.jokes. Usenet: [email protected]. Citováno 22. prosince 2019.
- ^ Příběh Mel bezplatná verze poezie
- ^ „The Story of Mel, A Real Programmer, Annotated“. www.cs.utah.edu.
- ^ Bill von Hagen (1. června 1994). „New Light on the Legend of Mel“. Diskusní skupina: alt.folklore.computers. Usenet: [email protected]. Citováno 22. prosince 2019.
- ^ „Zejména Mel Kaye z Royal McBee ...“, FOLDOC, imperial.ac.uk
- ^ Royal McBee Corporation (duben 1957). ROYAL PRECISION Electronic Computer LGP - 30 PROGRAMOVACÍ MANUÁL. Port Chester, New York: Royal McBee Corporation. Citováno 2020-03-17.
- ^ „Mel Kaye v první tréninkové třídě LGP-30“. Librazette. Librascope Inc.
Další čtení
- utastro! nather (1983-05-21), The Story of Mel - Nedávný článek věnovaný * macho * stránce programování učinil plešatý a nelakovaný výrok: Skuteční programátoři píší ve Fortranu. Greg Lindahl, archivováno z původního dne 2017-03-09, vyvoláno 2017-03-09 (Pozn. Kopie původní verze prózy.)
- utastro! nather (1983-05-21), re: Skuteční programátoři ... Rob Stampfli, vyvoláno 2018-02-11 (Zcela originální kopie příspěvku Ed Nather's Usenet s hlavičkami)
- Ne, Ed (2003-09-12) [1983-05-21], Příběh Mel, skutečného programátora, FOLDOC, archivováno z původního dne 2017-03-09, vyvoláno 2017-03-09 (Pozn. Interpunkce přidána / opravena kvůli čitelnosti. Obsahuje odkaz na programovou pásku blackjacku pro LGP-30)
- Jennings, Tom, ed. (2000-11-30) [1956-10-18], Mel the Programmer: LGP-30 Coding Sheet - Program 13.0, archivováno z původního dne 2017-03-09, vyvoláno 2017-03-09 (Podpis Mel Kaye) na kódovacím listu pro LGP-30.)
- Kaye, Mel, Manuál pro hru Blackjack (PDF), USA: Librascope, Inc., RPC-4000 Program W1-01.0, archivováno (PDF) z původního dne 2017-03-09, vyvoláno 2017-03-08 (Pozn. Pravděpodobně předmět původního příběhu.)
- Seibel, James (08.04.2015), „The Story of Mel“ vysvětleno, vyvoláno 2018-02-18 (Pozn. Podrobná analýza příběhu s vysvětlením technických podrobností.)
- „Macho programátoři, paměť bubnu a forenzní analýza strojového kódu 60. let“. freeCodeCamp.org. 2. dubna 2018. Obsahuje ještě více technických detailů
- van den Bogaard, Adrienne (2008). „Stijlen van programmeren 1952-1972“. Studium. 1 (2): 128-144. doi:10.18352 / studium.1459. Citováno 2018-08-14.