История нидерландских компьютеров



ARRA I 
ARRA — это самый первый компьютер, разработанный и собранный в Нидерландах. ARRA — это сокращение от «Automatische Relais Rekenmachine Amsterdam», то есть «Амстердамская автоматическая релейная вычислительная машина». Первый дизайн ввели в эксплуатацию 21 июня 1952 года в Центре математики и информатики в Амстердаме. Он был в основном разработан компьютерными пионерами Карелом Схолтеном и Брамом Лоопстрой — физиками по образованию. При официальном запуске машины присутствовали тогдашний бургомистр Амстердама  и министр образования, искусств и науки . Собственно открытие произошло успешно: компьютер ARRA должен был сгенерировать таблицу псевдослучайных чисел, что у него получилось удачно, но последующая работа не задалась. Тем не менее, были несколько людей, поработавшие программистами именно на этой машине — среди них ставший впоследствии знаменитым Эдсгер Дейкстра.

ARRA II 
ARRA II был разработан также в Центре математики и информатики, причём группу основных проектировщиков возглавил , до этого успевший поработать в США над созданием вычислительных машин. Новый проект должен был исправить ошибки предыдущего, но на самом деле представлял собой полную переработку и имел мало общего с ARRA I. Официально проект голландского компьютера считался планомерно развивающимся, что обеспечивало непрерывность финансирования. В декабре 1953 года «новая версия» была завершена и запущена в эксплуатацию.

В качестве блоков памяти в ARRA II использовался магнитный барабан и электронные лампы. Машина оказалась очень надёжной и использовалась успешно во многих вычислительных проектах, в том числе для расчёта профиля крыла самолёта F27 компании Fokker.

FERTA 
Специально для Фоккера той же рабочей группой из трёх человек была построена новая вычислительная машина под названием FERTA: Fokkers Eerste Rekenmachine Type ARRA («Первая вычислительная машина Фоккера, тип ARRA»). Она была вдвое быстрее и использовала изменённый набор инструкций. Программное обеспечение для FERTA написал Эдсгер Дейкстра.

Компьютер FERTA был сдан Фоккеру в апреле 1955 года, и использовался вплоть до 1963 года для расчётов по F27 и другим моделям самолётов. Считается, что именно ARRA II и FERTA Фоккер обязан огромному коммерческому успеху F27. В 1963 году Фоккер сменил FERTA на X1 производства фирмы Электрологика.

ARMAC 
Параллельно в 1954 году началась работа над новым компьютером в рамках исследований Математического центра, и в 1956 он был готов. Новое название было ARMAC: Automatische Rekenmachine MAthematisch Centrum («Автоматическая вычислительная машина Математического центра»). По скорости ARMAC превосходил ARRA II в несколько десятков раз. Разработчики как аппаратного, так и программного обеспечения были те же, что и в прошлых проектах, но принцип проектирования был иной: исходным пунктом считался дизайн программной части, исходя из специфики которой уже проектировалась аппаратная. Э. Дейкстра играл важную роль в этом отказе от классической схемы производства вычислительной части и следующего за этим написания специфических для этой части утилит и систем.

ARMAC был сделан на транзисторах с использованием магнитного барабана и оперативной памяти на ферромагнетиках. Его активно использовали для проекта «Дельта», расчёта солнечных затмений и корабельных винтов — всё в рамках небольших проектов для разных заказчиков. Это демонстрировало коммерческую жизнеспособность, но в те времена Математический центр не был никак заинтересован в коммерческой стороне вопроса. Схолтен и Лоопстра основали свою фирму с Дейкстрой в роли приглашённого консультанта, и  () вскоре вышла на рынок с первым коммерчески успешным компьютером.

X1 

Концептуально X1 был предметом диссертации Эдсгера Дейкстры и первой платформой для реализации его полноценного компилятора языка Алгол 60 (совместно с Япом Зонневелдом). При этом даже во введении диссертации указывается, что при практической реализации большую роль играли экономические и организационные факторы, на которые он влиять даже не пытался. Так или иначе, новый компьютер на транзисторах и ферромагнетиках был большим успехом. В 1958—1964 годах было продано около сорока экземпляров, покупателями в основном были нидерландские и немецкие университеты, научные институты, страховые компании и индустриальные корпорации. Для X1 было создано много периферийных устройств: устройства ввода-вывода на перфокартах и перфоленте, принтеры, клавиатуры и пр.

В X1 впервые были использованы прерывания, позволяющие прервать ввод и вывод ради синхронизации его с вычислениями. Большая часть программного обеспечения была написана на машинных кодах, а после появления компилятора Алгола его тоже стали использовать для расчётов (но не для системных частей). Машинные коды имели мнемоническое выражение, причём для записи адресов использовалась тридцатидвоичная система счисления. Вся память X1 состояла из 32768 слов по 27 бит каждое, часть памяти была неперезаписываемая.

Благодаря участию в разработке одного из ведущих специалистов по информатике того времени, среди своих современников X1 был одним из лучших компьютеров как по элегантности внутреннего дизайна, так и по скорости выполнения вычислений. При этом IBM уже имел определённый авторитет в коммерческом секторе, поэтому легко конкурировал с Электрологикой, продавая свои (уступающие по параметрам) ЭВМ даже на территории Нидерландов.

Название X1 ничего особенного не означает, и было первоначально временным именем за неимением другого, но к этому временному все настолько быстро привыкли, что менять его уже не имело смысла. Производились и машины X2, X3, X4, X5, но они были фактически попытками коммерчески реализовать сырые варианты улучшений, и покупателей практически не находилось вплоть до завершения работ над X8.

X8 
Начиная с 1965 года, Электрологика перешла на выпуск новых компьютеров, названных X8. Архитектура их очень напоминала X1 (27-битные машинные слова, 15-битная адресация, магнитный барабан как внешняя память), но имела отдельный периферийный процессор для обработки сигналов ввода-вывода. Этот процессор назывался CHARON — Centraal Hulporgaan Autonome Regeling Overdracht Nevenapparatuur («Центральный сопроцессор для автономного управления передающей периферией», также Charon — Харон). Прочие дополнения включали 48 каналов ввода-вывода, специально спроектированных для устройств низкой скорости передачи информации (бумажные ленты, плоттеры, принтеры), а также арифметику с плавающей запятой (40 бит на мантиссу и 11 на экспоненту). По скорости X8 превосходил X1 в двенадцать раз.

С научной точки зрения компьютер X8 наиболее известен тем, что именно под него Эдсгер Дейкстра написал свою операционную систему THE. В компиляторах недостатка не было, поддерживались следующие языки:
 ELAN (Electrologica LANguage, «Язык Электрологики») — ассемблер, разработанный собственными силами Схолтена и Лоопстры
 Фортран, компилятор написал Хартмут Фельш из Университета им. Христиана Альбрехта
 Кобол, завершён не был, несмотря на большой спрос
 Алгол, отдельный компилятор написал Ф. Е. Й. Круземан Аретц из CWI
 Алгол, поддерживаемый Дейкстрой в системе THE

Всего было продано около тридцати машин X8, но продажи шли сравнительно плохо из-за появления новой серии IBM System/360, которая превосходила их по скорости. В 1968 Электрологика была куплена фирмой Philips (которая с 1956 года тоже занималась экспериментальными ЭВМ, но существенно менее успешно, чем CWI и Электрологика), которая даже сменила название на «Philips-Electrologica», однако производство компьютеров было практически сразу прекращено. Больше нидерландская научно-инженерная мысль в историю компьютерной техники никакого вклада не внесла.

Источники 
 Информация и фотографии: ARRA I, ARRA II, FERTA, ARMAC, X1, X2, X4, X8
 «Работа с автоматическим компьютером», диссертация Э. Дейкстры, 1959, 166 стр.
 «Компилятор Алгола 60 Дейкстры-Зонневелда для компьютера Электрологика X1», отчёт, 2003, 328 стр.
 Компьютерный музей Амстердамского университета: X1 и X8
 История фирмы Электрологика
 Э. В. Дейкстра, «Структура системы мультипрограммирования 'THE'», Communications of the ACM 11(5):341—346, 1968. EWD196 (черновик) DOI (финальная версия)