История Мела - The Story of Mel
История Мела это архетипический образец компьютерное программирование фольклор. Его тема, Мелвин Кэй,[1] образцовый "Настоящий программист "чьи тонкие техники очаровывают его коллег.
История
Эд Натер с История Мела подробно описывает выдающееся мастерство программирования его бывшего коллеги, «Мела», на Королевская компьютерная корпорация McBee.[2][3] Первоначально рассказ Натера был написан в прозе, но кто-то преобразовал его в форму «вольного стиха», которая стала широко распространенной.[4][5]
Мало что известно о Меле Кее, за исключением того факта, что ему приписывали "основную часть программирования" компилятора ACT-1 1959 года для Royal McBee. LGP-30 компьютер.[6][7] В рассказе Натера Кэй изображается склонной избегать оптимизирующие сборщики в пользу создания кода, чтобы воспользоваться аппаратными причудами, например, используя ротацию LGP-30 с барабанная память чтобы не писать петли задержки в код.
История, написанная Натером, включала работу Кэй по переписыванию Блэк Джек программа от LGP-30 к более новой системе Royal McBee, RPC-4000; руководители продаж компании попросили изменить программу так, чтобы они могли щелкнуть переключателем на передней панели и привести к проигрышу программы (а к выигрышу пользователя). Кэй неохотно согласился на просьбу, но, к своему удовольствию, получил тест неправильно, и вместо этого переключатель будет приводить к тому, что программа каждый раз выигрывает (а пользователь проигрывает).
После отъезда Кэй Натера попросили исправить ошибку. Изучая код, он был озадачен, обнаружив, что он содержал что-то вроде бесконечный цикл, но управление не осталось внутри цикла. В конце концов он понял, что Кэй использует самомодифицирующийся код для обработки элементов массива и закодировал цикл таким образом, чтобы воспользоваться преимуществом переполнение. Добавление 1 в поле адреса инструкции, которая ссылается на адрес Икс обычно просто изменил адрес на Икс+1. Но когда Икс уже был максимально возможным адресом, адрес не только перешел на 0, но и 1 был перенесен в биты откуда код операции будет прочитан - в этом случае изменение кода операции на «перейти к», чтобы полная инструкция стала «перейти к адресу 0». Это настолько впечатлило Натера, что из уважения он отказался от задачи и сообщил, что не может найти ошибку.
Ранние компьютеры Машина IAS дизайн не имел индексного регистра. Для операций с массивами было необходимо использовать самомодифицирующийся код. Команда LGP-30 «y 2000» «заменяла содержимое адресной части слова в ячейке памяти 2000 содержимым адресной части слова в аккумуляторе» для облегчения записи самомодифицирующегося кода.[8]
История
Эссе изначально было опубликовано в Usenet группа новостей "net.followup" от 21 мая 1983 г., автор: utastro! nather (the UUCP адрес электронной почты Эда Натера в то время).[2][3]
Компьютеры Royal McBee были разработаны и изготовлены Либраскоп, и документация, написанная для Блэк Джек Программа была написана Мелом Кей из Librascope Inc. Август 1956 г. Весы, информационный бюллетень Librascope, содержит рассказ об обучении работе с LGP-30 и упоминает, что некоторые инженеры по применению Librascope были переведены в штат сотрудников Royal McBee. Среди названных инженеров - Мэл Кэй.[1]
На первой странице этого выпуска есть фотография, на которой запечатлен первый класс начинающих программистов LGP-30 и инструкторов, включая Мела Кея.[9]
Смотрите также
Рекомендации
- ^ а б "Воспоминания о либраскопе" (PDF). Весы. Librascope Inc.
- ^ а б Раймонд, Эрик С., изд. (1992-07-01). "Файл жаргона, версия 2.9.10, 1 июля 1992 г. (jargon2910.ascii.gz)" (GZ ). строка 20505. В архиве из оригинала на 2017-03-09. Получено 2014-07-01.
- ^ а б Мэтт Кроуфорд (20 ноября 1984 г.). «Самый настоящий программист из всех». Группа новостей: net.jokes. Usenet: [email protected]. Получено 22 декабря, 2019.
- ^ История Мела бесплатная версия стиха
- ^ "История Мела, настоящего программиста, с комментариями". www.cs.utah.edu.
- ^ Билл фон Хаген (1 июня 1994 г.). "Новый свет в легенде о Меле". Группа новостей: alt.folklore.comкомпьютеры. Usenet: [email protected]. Получено 22 декабря, 2019.
- ^ «В частности, Мел Кэй из Royal McBee ...», FOLDOC, imperial.ac.uk
- ^ Royal McBee Corporation (апрель 1957 г.). Электронный компьютер ROYAL PRECISION LGP - 30 РУКОВОДСТВО ПО ПРОГРАММИРОВАНИЮ. Порт Честер, Нью-Йорк: Royal McBee Corporation. Получено 2020-03-17.
- ^ «Мэл Кэй в первом учебном классе LGP-30». Весы. Librascope Inc.
дальнейшее чтение
- Утастро! натер (1983-05-21), История Мела. В недавней статье, посвященной «мачо» стороне программирования, было сделано откровенное и неприукрашенное заявление: настоящие программисты пишут на Фортране., Грег Линдал, в архиве из оригинала на 2017-03-09, получено 2017-03-09 (NB. Копия оригинальной прозаической версии.)
- Утастро! натер (1983-05-21), re: Настоящие программисты ..., Роб Стампфли, получено 2018-02-11 (Полностью оригинальная копия сообщения Эда Натера в Usenet с заголовками)
- Натер, Эд (2003-09-12) [1983-05-21], История Мела, настоящего программиста, FOLDOC, в архиве из оригинала на 2017-03-09, получено 2017-03-09 (NB. Пунктуация добавлена / исправлена для удобочитаемости. Содержит ссылку на программную ленту блэкджека для LGP-30)
- Дженнингс, Том, изд. (2000-11-30) [1956-10-18], Программист Мел: Кодовая таблица LGP-30 - Программа 13.0, в архиве из оригинала на 2017-03-09, получено 2017-03-09 (Подпись Мела Кея] на листе кодирования LGP-30.)
- Кэй, Мел, Руководство по игре в блэкджек (PDF), СОЕДИНЕННЫЕ ШТАТЫ АМЕРИКИ: Librascope, Inc., RPC-4000 Программа W1-01.0, в архиве (PDF) из оригинала на 2017-03-09, получено 2017-03-08 (NB. Предположительно объект оригинальной истории.)
- Сейбел, Джеймс (2015-04-08), Объяснение "Истории Мела", получено 2018-02-18 (NB. Подробный анализ истории с объяснением технических деталей.)
- «Мачо-программисты, барабанная память и криминалистический анализ машинного кода 1960-х годов». freeCodeCamp.org. 2 апреля 2018. Содержит еще больше технических деталей
- ван ден Богаард, Адриенн (2008). "Стиль ван программы 1952-1972". Studium. 1 (2): 128-144. Дои:10.18352 / studium.1459. Получено 2018-08-14.