Historia Mela
The Story of Mel to archetypowy element folkloru programowania komputerowego . Jej bohater, Melvin Kaye , jest wzorowym „ prawdziwym programistą ”, którego subtelne techniki fascynują jego kolegów.
Fabuła
Ed Nather 's The Story of Mel szczegółowo opisuje niezwykłą sprawność programistyczną jego byłego kolegi, „Mel”, z Royal McBee Computer Corporation . Chociaż pierwotnie napisana prozą, historia Nathera została przez kogoś zmodyfikowana w formę „wierszy wolnej”, która stała się powszechna.
Niewiele wiadomo o Mel Kaye, poza faktem, że przypisuje mu się wykonanie „większości programowania” kompilatora ACT-1 z 1959 r. Dla komputera Royal McBee LGP-30 . W historii Nathera Kaye jest przedstawiana jako skłonna do unikania optymalizacji asemblerów na rzecz tworzenia kodu w celu wykorzystania dziwactw sprzętowych, na przykład wykorzystując rotację pamięci bębna LGP - 30 , aby uniknąć zapisywania pętli opóźniających w kodzie .
Historia, napisana przez Nathera, obejmowała pracę Kaye nad przepisaniem programu do gry w blackjacka z LGP-30 na nowszy system Royal McBee, RPC -4000 ; dyrektorzy ds. sprzedaży firmy poprosili o zmodyfikowanie programu, aby mogli przełączyć przełącznik na panelu przednim i spowodować przegraną programu (i wygraną użytkownika). Kaye niechętnie przystał na prośbę, ale ku własnej radości źle wykonał test , a zmiana zamiast tego powodowała, że program wygrywał za każdym razem (a użytkownik przegrywał).
Po odejściu Kaye Nather został poproszony o naprawienie błędu. Badając kod, ze zdziwieniem odkrył, że zawiera on coś, co wyglądało na nieskończoną pętlę , ale kontrola nie pozostała w pętli. W końcu zdał sobie sprawę, że Kaye używa samomodyfikującego się kodu do przetwarzania elementów tablicy i zakodował pętlę w taki sposób, aby skorzystać z przepełnienia liczb całkowitych . Dodanie 1 do pola adresu instrukcji odnoszącej się do adresu x zwykle po prostu zmienia adres na x +1. Ale kiedy x był już najwyższym możliwym adresem, nie tylko adres zawijał się do 0, ale 1 było przenoszone do bitów, z których kod operacji byłby odczytywany - w tym przypadku zmieniając kod operacji na „skok do”, tak aby stała się pełna instrukcja „skok do adresu 0”. Wywarło to na Natherze tak duże wrażenie, że z szacunku zrezygnował z zadania i poinformował, że nie może znaleźć błędu.
Wczesne komputery konstrukcji maszyn IAS nie miały rejestru indeksów. Użycie samomodyfikującego się kodu było konieczne do operacji tablicowych. Instrukcja LGP-30 y 2000
„zastąpiła zawartość części adresowej słowa w komórce pamięci 2000 zawartością części adresowej słowa w akumulatorze”, aby ułatwić pisanie samomodyfikującego się kodu.
Historia
Esej został pierwotnie opublikowany w grupie dyskusyjnej Usenet „net.followup” 21 maja 1983 r. Przez utastro!nather ( adres e-mail UUCP ówczesnego Eda Nathera).
Komputery Royal McBee zostały opracowane i wyprodukowane przez Librascope , a dokumentację napisaną dla programu do gry w blackjacka napisał Mel Kaye z Librascope Inc. Wydanie The Librazette z sierpnia 1956 r., biuletynu Librascope, zawiera opowieść o szkoleniu na LGP-30 i wspomina, że niektórzy inżynierowie aplikacji Librascope zostali przeniesieni na listę płac Royal McBee. Wśród wymienionych inżynierów jest Mel Kaye.
Na pierwszej stronie tego numeru jest zdjęcie przedstawiające tę pierwszą klasę programistów LGP-30 neofitów i instruktorów, w tym Mela Kaye.
Zobacz też
Dalsza lektura
- utastro!nather (1983-05-21), The Story of Mel - Niedawny artykuł poświęcony *macho* stronie programowania zawierał łyse i nieupiększone stwierdzenie: Prawdziwi programiści piszą w Fortranie. , Greg Lindahl, zarchiwizowane z oryginału w dniu 09.03.2017 , pobrane 09.03.2017 (Uwaga. Kopia oryginalnej wersji prozy).
- utastro!nather (21.05.1983), re: Real Programmers ... , Rob Stampfli, zarchiwizowane z oryginału w dniu 12.02.2018 , pobrane 11.02.2018 (Całkowicie oryginalna kopia posta Eda Nathera w Usenecie, z nagłówkami)
- Nather, Ed (12.09.2003) [21.05.1983], The story of Mel, a Real Programmer , FOLDOC , zarchiwizowane z oryginału w dniu 09.03.2017 , pobrane 09.03.2017 (NB. Interpunkcja dodano/poprawiono dla czytelności.Zawiera link do taśmy z programem blackjacka dla LGP-30)
- Jennings, Tom, wyd. (2000-11-30) [1956-10-18], Mel the Programmer: LGP-30 Coding Sheet - Program 13.0 , zarchiwizowane z oryginału w dniu 09.03.2017 , pobrane 09.03.2017 (podpis Mel Kaye) na arkuszu kodu dla LGP-30.)
- Kaye, Mel , Manual for Blackjack Game (PDF) , USA: Librascope, Inc. , RPC-4000 Program W1-01.0, zarchiwizowane (PDF) z oryginału w dniu 2017-03-09 , pobrane 2017-03-08 (NB. Przypuszczalnie tematem oryginalnej historii.)
-
Seibel, James (2015-04-08), „The Story of Mel” Explained , pobrano 2018-02-18
{{ cytowanie }}
: CS1 maint: url-status ( link ) (NB. Szczegółowa analiza historii, wyjaśnienie szczegóły techniczne.)- „Programiści Macho, pamięć bębna i analiza kryminalistyczna kodu maszynowego z lat 60.” . freeCodeCamp.org . 2 kwietnia 2018 r. Zawiera jeszcze więcej szczegółów technicznych
- van den Bogaard, Adrienne (2008). „Stijlen van programistów 1952-1972” . Studia . 1 (2): 128-144. doi : 10.18352/studium.1459 .
-
Mel's Loop - A Comprehensive Guide to The Story of Mel , 2022-05-21
{{ Quote }}
: CS1 maint: url-status ( link ) (Badania dotyczące pochodzenia historii, jej postaci, biografii Mel Kaye i folklor hakerski w ogóle) - Redditor znalazł komputer typu Mel, którego używał w piwnicy swoich dziadków.