История Мела

редактировать
Программист

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

Содержание
  • 1 История
  • 2 История
  • 3 См. Также
  • 4 Ссылки
  • 5 Дальнейшее чтение
История

История Мела Эда Натера подробно рассказывает о необычайном мастерстве программирования его бывший коллега "Мел", <37 лет>Королевская компьютерная корпорация Макби. Первоначально рассказ Натера был написан прозой, но кто-то преобразовал его в форму «свободного стиха», которая стала широко распространенной.

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

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

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

Ранние компьютеры IAS машины не имели индексного регистра. Для операций с массивами необходимо использовать самомодифицирующийся код. Команда LGP-30 «y 2000» «заменяла содержимое адресной части слова в ячейке памяти 2000 содержимым адресной части слова в аккумуляторе», чтобы облегчить запись самомодифицируемого кода.

История

Эссе было первоначально опубликовано в группе новостей Usenet "net.followup" 21 мая 1983 г. автором utastro! Nather (UUCP адрес электронной почты Эда Натера в то время).

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

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

См. также
Ссылки
Дополнительная литература
Последняя правка сделана 2021-06-11 05:15:24
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте