[Перевод] Алан Кей: «Могли ли древние римляне построить компьютер?»
Это очень интересный вопрос — похож на тот, что я обычно задавал на уроке по компьютерному дизайну: «Какой компьютер капитан Немо разработал бы для «Наутилуса»? — Нарисуйте его дизайн!»
Сегодняшний вопрос может быть понят по-разному: например, в значении «С технологиями, доступными в то время, мог ли полный гений — за исключением Леонардо — додуматься до устройства, которое мы бы назвали цифровым компьютером?»
Hublot’s miniature replica of the Antikythera mechanism
Такая постановка вопроса также позволяет использовать «греческую мысль», так как у римлян было много греков — свободных и рабов — которые занимались более глубокими размышлениями для этих людей с практичным мышлением. Это хорошая комбинация, потому что греки мало интересовались техникой, а римляне интересовались — одними из самых интересных механических изобретений греков были игрушки, особенно созданные александрийскими греками.
Давайте не будем принимать во внимание то, что одна из проблем рабства заключается в том, что оно не мотивирует людей на изобретение механизмов для выполнения большого количества элементарной работы, включая вычисления. И давайте не принимать во внимание вопрос о «накоплении» идей предшественников, которые нужны и используются даже гениями — суть вопроса на самом деле звучит как «Можно ли построить что-то?» в данный момент нашей истории.
Перевод выполнен при поддержке компании EDISON Software, которая профессионально занимается разработкой и тестированием софта.
Кое-где в других ответах правильно писали, что как греки, так и римляне проводили вычисления, используя своего рода счеты (слово «calculus» — это название камней, перемещаемых по их счетным таблицам). Важно отметить, что абак действительно имел значение «ноль» заложенным в то, как он работает.
Репродукция римского «карманного» абака, которая поместилась бы в кармане современной рубашки. «Камни» здесь — не камни, а бусинки в выдвижных прорезях.
Естественно, я, человек из сферы ИТ, был весьма заинтересован в Бэббидже (и Ада), и первоначально был очень впечатлен изобретениями, которые ему пришлось создавать так же, как предшественникам (например, тщательный механический чертеж, токарно-револьверный станок и т.д.), а также вдохновением от жаккардового ткацкого станка. Было забавно самому запустить репродукцию «Разностной машины» в лондонском Музее науки (сверхточная конструкция, но много негативных последствий и усилий).
Несколько лет спустя у меня была возможность по-настоящему взглянуть на ранний жаккардовый ткацкий станок, и я был совершенно поражен поразительно превосходным подходом к механическому дизайну; даже органы того времени с огромными механическими трубами не были так чудесно сделаны!
Я понял, что Бэббидж выбрал очень плохой инженерный подход — он был математиком и пытался делать вещи «точно» —, а в действительности должен был бы присмотреться к фактическим механизмам жаккардового станка гораздо более внимательно.
Только вершина ⅓ — это жаккардовый механизм. Сам ткацкий станок в основном сделан из дерева с небольшим механизмом (в нём использовалась логика «вешалок»/«coat hanger»).
Жаккард пошел полностью в противоположном направлении: все просто разваливается, за исключением случаев, когда ему нужна точность (большая часть полученной им точности заключалась в «направляющих отверстиях», которые ограничивали болтающиеся детали, но
позволяли им болтаться с обеих сторон (одно из предположений: направляющие должны были периодически «уменьшать ошибки» в цепях причин и следствий).
В результате распространение и увеличение числа ошибок практически отсутствует (схема Бэббиджа вызывает огромное распространение ошибок). Одним из множества забавных моментов подхода Жаккарда является то, что этот механизм не требует изобретения нового вида ткацких станков: жаккардовый аппарат находится на вершине существующего ткацкого станка и просто вытягивает нити в соответствии с программой в цепочке перфокарт.
Таким образом, один человек, управляющий жаккардовым ткацким станком, может воздействовать на тысячи потоков с помощью перфокартных программ, используя только человеческую силу.
Здесь интересно то, что в жаккардовом станке нет ничего механически сложного — большую часть логики можно построить из вешалок! — и это могло быть сделано с использованием одних только технологий, доступных по обе стороны от 0 года до н.э. Вот краткое описание некоторых доступных технологий.
Статья в Википедии о жаккардовом станке — это начало, но в ней недостаточно подробностей. Я все еще ищу лучшее описание механизма жаккардового станка онлайн (пожалуйста, помогите!). Здесь важны фактические детали того, как Жаккард видел, что выбор не требует тщательной точности, за исключением случаев, когда это действительно необходимо. А пока почитайте этот pdf, начиная со страницы 5. И посмотрите это видео на YouTube, чтобы увидеть, как работают разные части, управляемые одним человеком.
Существует несколько книг, содержащих полезные детали: Essinger, James (2004). Жаккардовая паутина. Oxford University Press, Oxford, и особенно: Брэдбери, Фред (1912). Жаккардовые механизмы и монтаж жгута. John Heywood Ltd., Technical Book Depot, Halifax, Yorks. Лучшей книгой, которую я нашел, оказалась: (1888) «Жаккардовая машина, проанализированная и объясненная», Э.А. Поссельт. Благодаря замечательному Брюстеру Кале и его Archive.org, эту книгу можно найти и загрузить через Google
Я думаю, что было бы вполне возможно использовать современное мышление, чтобы спроектировать программируемый компьютер, основанный на жаккардовых механизмах, а затем собрать его, используя только методы, инструменты и материалы, доступные приблизительно до 0 года до н.э.
На следующей неделе я попытаюсь найти понятный онлайн-отчет о том, как на самом деле работает жаккардовый ткацкий станок (почти всегда происходит так, что музеи — даже музеи «науки и техники» — просто выставляют артефакты и не дают объяснений или демонстраций *как* и *почему* они работают).
Дополнение I
Я забыл, что написал про Бэббиджа для Quora, и упомянул там более подробно о жаккардовом ткацком станке. Какая книга о Чарльзе Бэббидже является лучшей с технической точки зрения?
Я нашел на YouTube довольно хорошее видео из музея V & A, в котором есть трехмерное анимационное объяснение изобретения Жаккарда.
Кажется, у него нет звуковой дорожки, но я думаю, что понять его можно и только по визуальному объяснению. Возможно, захочется посмотреть анимацию вполовину реальной скорости видео ряда, чтобы успевать понимать и следить за причинно-следственной связью.
Дополнение II
Марсель Леви задал вопрос, который стоит поставить здесь в основном тексте: «То есть, вы говорите, что проблема была не в практической стороне, а в теоретической?»
Я думаю да. Стоит взглянуть на некоторые из механических изобретений александрийских греков, в том числе: орган с лабиальными трубами, на котором играли, используя клавиши с ветром, стабилизированным давлением воды, и т.д. Также греческая театральная механика и т.д. И, конечно, астрономический калькулятор Antikythera.
Геро́н Александри́йский был самым интересным изобретателем механизмов около 0 г. до н.э., кроме органа с лабиальными трубами, сообщалось об одометре, который считал в цифровом формате, и, что наиболее интересно, программируемой тележке (её воссоздание здесь на YouTube).
Что еще Герон делал по образцу этих «игрушек для развлечения и удивления»? У него была идея «программирования», и, вероятно, он разработал другие его формы для автоматики, которую он изобрёл.
Ткацкие станки существовали тысячи лет, а самые сложные из них — сотни.
Греки (а затем и римляне) поняли, что культурный «официальный» способ написания чисел был «неудобен»: мы можем увидеть их настоящее мышление, посмотрев на их вычислительные машины (различные абаки).
Мы определенно могли бы спросить, «что они действительно хотят вычислить, что выходит за рамки их абаков?». Сначала Бэббидж руководствовался неточностями в математических таблицах («Я молю Бога, чтобы эти вычисления были сделаны паром!»). Тьюринг же изначально руководствовался результатами Геделя. Изучение способов физических вычислений было обусловлено потребностями войны начиная со Второй мировой войны.
У них определенно были мозги и большая часть математического и физического кругозора. Мне кажется, что больше всего им не хватало чувства нужды, которое заставило бы их использовать то, что они знали, чтобы увидеть, как заставить машину производить вычисления за них.