нее программное оснащение, готовить эмуляторы ее архитектуры на имевшихся машинах и т. д. Было намечено, что к 1970 г лаборатория Брусенцова создаст действующий образец, а отдел Жоголева — систему программного обеспечения. «Сроки были в обрез, но в апреле 1970 г. образец уже действовал, — писал Н.П. Брусенцов. — Работал он на тестах, которые мне пришлось написать самому, потому что Жоголев не сделал по своей части буквально ничего. Он увлекся другой работой в сотрудничестве с Дубной. Машину мы все же „оседлали“, помог программист из команды Жоголева — Рамиль Альварес Хосе, а еще через год, „слегка“ модернизировав „Сетунь-70“, сделали ее машиной структурированного программирования. (Об этом подробно см. статью Н.П. Брусенцова и др. в сборнике „Вычислительная техника и вопросы кибернетики“ вып. 15. МГУ, 1978; там же — о преимуществах троичности. — Прим. авт.).
Машина задумана так, что обеспечивалась эффективная возможность ее программного развития. Теперь это называют RISC-архитектурой. Троичность в ней играет ключевую роль. Команд в традиционном понимании нет — они виртуально складываются из слогов (слоги-адреса, слоги-операции, длина слога — 6 тритов, иначе; трайт — троичный аналог байта). Длина и адресность команд варьируются по необходимости, начиная с нульадресной. На самом деле программист не думает о командах, а пишет в постфиксной форме (ПОЛИЗ) выражения, задающие вычисления над стеком операндов. Для процессора эти алгебраические выражения являются готовой программой, но алгебра дополнена операциями тестирования, управления, ввода-вывода. Пользователь может пополнять набор слогов своими операциями и вводить (определять) постфиксные процедуры, использование которых практически не снижает быстродействия, но обеспечивает идеальные условия для структурированного программирования — то, чего не обеспечил Э. Дейкстра, провозглашая великую идею. Результат — трудоемкость программ уменьшилась в 5–10 раз при небывалой надежности, понятности, модифицируемости и т. п, а также компактности и скорости. Это действительно совершенная архитектура и к ней все равно придут».
К сожалению, лаборатория Н.П. Брусенцова после создания машины «Сетунь-70» была лишена возможности, а точнее — права заниматься разработкой компьютеров и выселена из помещений ВЦ МГУ на чердак студенческого общежития, лишенный дневного света. Создание ЭВМ — не дело университетской науки, так полагало новое начальство. Первое детище Брусенцова — машина «Сетунь» (экспериментальный образец, проработавший безотказно 17 лет) была варварски уничтожена, — ее разрезали на куски и выбросили на свалку. «Сетунь-70» сотрудники лаборатории забрали на чердак и там на ее основе создали «Наставник» — систему обучения с помощью компьютера. «Наставником» занялись по рекомендации Б.В. Анисимова, который был тогда заместителем председателя НТС Министерства высшего образования СССР. Выслушав Брусенцова, он сказал ему: «Займитесь обучением с помощью компьютера, этого никто не запретит».
«Мне, конечно, было горько от того, что нас не поняли, но затем я увидел, что это нормальное положение в человеческом обществе, и что я еще легко отделался, — с горьким юмором написал Брусенцов. — А вот Уильям Оккам, проповедовавший трехзначную логику в XIII веке, с большим трудом избежал костра и всю жизнь прожил изгоем. Другой пример — Льюис Кэррол, которому только под личиной детской сказки удалось внедрить его замечательные находки в логике, а ведь эта наука до сих пор их замалчивает и делает вид, что никакого Кэррола не было и нет. Последний пример, показывающий, что и в наши дни дело обстоит так же (если не хуже), — Э. Дейкстра, открывший (в который раз!) идеи структурирования. Сколько было шума — конференция НАТО, сотни статей и десятки монографий, „структурированная революция“ бушевала едва ли не 20 лет, а теперь опять все так, будто ничего и не было.
Полноценная информатика не может ограничиться общепринятой сегодня по техническим причинам двоичной системой — основа должна быть троичной. Как-то я встретился с Глушковым и попытался поговорить об этом. Как истинный алгебраист Глушков сказал тогда, что вопрос о том, включать пустое или не включать, давно решен: включать! Но в действительности все не так просто. Современные математики, в особенности Н. Бурбаки, в самом деле считают, что Аристотель не знал „пустого“, поэтому его логика несовместима с математической логикой и математикой вообще. Если бы они почитали Аристотеля, то могли бы узнать, что именно им введено не только это понятие, но и буквенные обозначения переменных и прочих абстрактных сущностей, которыми кормится современная математика, не всегда осознавая их смысл. Оказалось, что Аристотель за 2300 лет до появления компьютеров и расхожего теперь термина „информатика“ не только заложил достоверные основы этой науки (у него это называлось „аналитика“, „диалектика“, „топика“, „первая философия“), но и поразительно эффективно применил ее методы к исследованию таких областей как этика, поэтика, психология, политика, о чем мы со своими ЭВМ пока и мечтать боимся.
Отдельные примеры алгебраизации (достоверной) аристотелевской логики я опубликовал в виде статей „Диаграммы Льюиса Кэррола и аристотелева силлогистика“ (1977 г.), „Полная система категорических силллогизмов Аристотеля“ (1982 г.).
У меня налицо убедительные доказательства верности открытого пути. С какой легкостью была создана „Сетунь“, как просто ее осваивали и продуктивно применяли пользователи во всех областях, и как они плевались, когда пришлось переходить на двоичные машины. Наивысшее достижение сегодня — RISC-архитектура — машины с сокращенным набором команд (типично — 150 команд), но где им до „Сетуни“, у которой 24 команды обеспечивали полную универсальность и несвойственные RISC эффективность и удобство программирования! Истинный RISC может быть только троичным.
В сущности мы его уже сделали, это „Сетунь-70“ — машина, в которой неизвестные в то время (1966–1968 гг.) RISC-идеи счастливо соединились с преимуществами трехзначной логики, троичного кода и структурированного программирования Э. Дейкстры, реализованного как наиболее совершенная и эффективная его форма — процедурное программирование в условиях двухстековой архитектуры. Впоследствии на этой основе была создана реализуемая на имевшихся двоичных машинах диалоговая система структурированного программирования ДССП, а в ней множество высокоэффективных, надежных и поразительно компактных продуктов, таких как „Наставник“, кросс-системы программирования микрокомпьютеров, системы разработки технических средств на базе однокристальных микропроцессоров, системы обработки текстов, управления роботами-манипуляторами, медицинский мониторинг и многое другое.
Сейчас мы развиваем ДССП в „процедурный ЛИСП“. Известно, что ЛИСП — единственный язык, на котором можно сделать все: от управления простейшими системами до проблем искусственного интеллекта и логического программирования. Но ЛИСП с его функциональным программированием и списковыми структурами программ и данных — это магия, доступная немногим. Мы обеспечим те же (и больше) возможности, но без магии, К сожалению, приходится делать это не на троичной машине и полного совершенства достичь не удается, но и в двоичной среде многое можно