Можно ли создать единственную (не полную по Тьюрингу) механическую реализацию, скажем, Microsoft Word? Можно ли реализовать такие вещи, как итераторы, функции первого порядка, весь спектр методов программирования? Могут ли шестерни и другие механические части представлять структуры данных или даже программные объекты? В какой-то момент это требует создания машины общего назначения, эквивалентной по Тьюрингу, или каждая функция, переменная и т. Д. Может иметь свою собственную уникальную механическую конструкцию в виде маховиков и / или зубчатых колес, трещоток, что у вас есть? Итак, мне интересно, можно ли скомпилировать какую-либо часть программного обеспечения на стандартном компьютере в механическую схему.
13
Ответы:
Да, это так. Вот как вы это делаете:
Вы можете скомпилировать практически любую программу, которая вам нравится. Посмотрите, например, работу Дэна Гики и его сотрудников по геометрии синтеза, которая показывает, как составлять программы в схемы.
Затем оказывается, что схемы снова и снова появляются в инженерном деле. Джон Баез приводит большую таблицу аналогий концепций и вырабатывает множество связей в «Находках этой недели» 288-296. Поэтому принципиальные схемы, которые генерирует компилятор Дэна, могут быть созданы как механические или гидравлические системы, если вы действительно этого хотите!
источник
Практическим примером этого является компьютер Tic Tac Toe, изготовленный из Tinker Toys в Бостонском научном музее (первоначально созданный командой студентов MIT). Конечно, это намного проще, чем Microsoft Word.
Вот статья 1989 года от Scientific American, описывающая это.
Также были машины Тьюринга, сделанные из legos (это немного обманывает, потому что он использует электричество - действительно компьютер - для движения, но я думаю, что дизайн может быть изменен, чтобы избежать этого) металлолом и многое другое.
источник
Попытка обратиться конкретно к вашему примеру создания редактора на аппаратном уровне, был создан ранний экспериментальный компьютер, в котором операционная система и редактор были полностью реализованы на аппаратном уровне. Позже редактор был заменен программным обеспечением, что существенно сократило необходимое оборудование. Это было описано в книге по компьютерной архитектуре и истории. К сожалению, я забыл название и не нашел ключевые слова, чтобы отследить первоисточник.
источник