Jump to content

История Мела

«История Мела» — архетипический фрагмент фольклора компьютерного программирования . Его объект, Мелвин Кэй , [ 1 ] является образцовым « настоящим программистом », чьи тонкие методы очаровывают его коллег.

Эда Натера « В книге История Мела» подробно описывается необычайное мастерство программирования его бывшего коллеги «Мела» из Royal McBee Computer Corporation . [ 2 ] [ 3 ] Хотя история Натера изначально была написана в прозе, она была кем-то изменена в форму «свободного стиха», которая получила широкое распространение. [ 4 ] [ 5 ]

О Меле Кее мало что известно, за исключением того факта, что ему приписывают выполнение «основной части программирования» компилятора ACT-1 1959 года для компьютера Royal McBee LGP-30 . [ 6 ] [ 7 ] В рассказе Нэтера Кэй изображается склонным избегать оптимизации ассемблеров в пользу создания кода, использующего особенности аппаратного обеспечения, например, использующего вращение -30 LGP барабанной памяти , чтобы избежать записи циклов задержки в код . .

История, написанная Нэтером, включала работу Кея по переписыванию программы блэкджека с LGP-30 на более новую систему Royal McBee, RPC-4000 ; Руководители отдела продаж компании попросили изменить программу так, чтобы они могли щелкнуть переключателем на передней панели и привести к проигрышу программы (а к победе пользователя). Кэй неохотно согласился на просьбу, но, к своему удовольствию, он неправильно выполнил тест , и вместо этого переключатель каждый раз приводил к тому, что программа выигрывала (а пользователь проигрывал).

После ухода Кея Натера попросили исправить ошибку. Изучая код, он был озадачен, обнаружив, что он содержит что-то вроде бесконечного цикла , однако управление внутри цикла не остается. В конце концов он понял, что Кэй использовал самомодифицирующийся код для обработки элементов массива, и запрограммировал цикл таким образом, чтобы воспользоваться преимуществами целочисленного переполнения . Добавление 1 в поле адреса инструкции, которая ссылается на адрес x, обычно просто меняет адрес на x +1. Но когда x уже был максимально возможным адресом, адрес не только оборачивался до 0, но и 1 переносилась в биты, из которых должен был быть прочитан код операции — в этом случае код операции менялся на «перейти к», чтобы Полная инструкция превратилась в «перейти к адресу 0». Это настолько впечатлило Натера, что он из уважения отказался от задания и сообщил, что не может найти ошибку.

Первые компьютеры IAS не имели индексного регистра. Использование самомодифицирующегося кода было необходимо для операций с массивами. Инструкция ЛГП-30 y 2000 «заменил содержимое адресной части слова в ячейке памяти 2000 содержимым адресной части слова в аккумуляторе», чтобы облегчить написание самомодифицирующегося кода. [ 8 ]

Эссе было первоначально опубликовано в Usenet новостной группе «net.followup» 21 мая 1983 года пользователем utastro!nather ( в то время адрес электронной почты UUCP Эда Натера). [ 2 ] [ 3 ]

Компьютеры Royal McBee были разработаны и изготовлены компанией Librascope , а документацию, написанную для программы блэкджека , написал Мел Кэй из Librascope Inc. В выпуске The Librazette , информационного бюллетеня Librascope за август 1956 года, содержится рассказ об обучении на LGP-30. и упоминает, что некоторые инженеры по приложениям Librascope были переведены в штат Royal McBee. Среди названных инженеров — Мел Кэй. [ 1 ]

На первой странице этого выпуска есть фотография, на которой изображен первый класс начинающих программистов LGP-30 и инструкторов, включая Мела Кея. [ 9 ]

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б «Воспоминания о Либраскопе» (PDF) . Либразетта . Либраскоп Инк.
  2. ^ Перейти обратно: а б Раймонд, Эрик С. , изд. (1 июля 1992 г.). «Файл жаргона, версия 2.9.10, 1 июля 1992 г. (jargon2910.ascii.gz)» ( GZ ) . строка 20505. Архивировано из оригинала 9 марта 2017 г. Проверено 1 июля 2014 г.
  3. ^ Перейти обратно: а б Мэтт Кроуфорд (20 ноября 1984 г.). «Самый настоящий программист из всех» . Группа новостей : net.jokes . Usenet:   [электронная почта защищена] . Проверено 22 декабря 2019 г.
  4. ^ «История Мела» Версия вольных стихов
  5. ^ «История Мела, настоящего программиста, с аннотациями» . www.cs.utah.edu .
  6. ^ Билл фон Хаген (1 июня 1994 г.). «Новый свет на легенду о Меле» . Группа новостей : alt.folklore.computers . Usenet:   [электронная почта защищена] . Проверено 22 декабря 2019 г.
  7. ^ «В частности, Мел Кэй из Royal McBee...» , FOLDOC, Imperial.ac.uk
  8. ^ Королевская корпорация Макби (апрель 1957 г.). Электронный компьютер ROYAL PRECISION LGP-30 РУКОВОДСТВО ПО ПРОГРАММИРОВАНИЮ . Порт-Честер, Нью-Йорк: Royal McBee Corporation . Проверено 17 марта 2020 г.
  9. ^ «Мел Кэй на первом тренировочном занятии LGP-30» . Либразетта . Либраскоп Инк.

Дальнейшее чтение

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: e23742fccf215c45d858574680974480__1723113540
URL1:https://arc.ask3.ru/arc/aa/e2/80/e23742fccf215c45d858574680974480.html
Заголовок, (Title) документа по адресу, URL1:
The Story of Mel - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)