Я же продолжил работать над «мозгами» нашего аппарата, поскольку моя задача была самой сложной — написать для этого всего управляющую программу. Только вместо кода у меня были руны, а вместо компилятора — собственная голова.
Принципы этой алгоритмической магии мы с Баюном уже обкатали в теории. Я потратил не один вечер, пытаясь сплести простые заклинания в логические цепочки. Но то было гораздо проще. Сейчас же нужно было написать первую в мире рабочую программу для конкретного сложного устройства.
Моим рабочим местом стала большая грифельная доска из черного отполированного кристалла. Стилусом из лунного камня я чертил на ней блок-схемы, комментарии, иногда переключался на работу за терминалом, когда нужно было что-то напечатать. Светящиеся руны вспыхивали и гасли, соединяясь линиями потоков энергии. «Считать параметры цели». «Сравнить с базой данных». «ЕСЛИ тип А, ТО запустить протокол 1». «ИНАЧЕ ЕСЛИ тип Б, ТО протокол 2». Это была настоящая магия, но построенная на чистой логике практического программирования.
Первая попытка «компиляции» провалилась с треском. Логическая цепочка, которую я выстроил, просто рассыпалась на полпути. Руны на доске моргнули и погасли. Ментальной «оперативки» не хватало, чтобы удержать все переменные и условия одновременно.
— Что-то не так с условием перехода, — пробормотал я, стирая забракованную схему.
Именно в этот момент ко мне подошла Василиса, чтобы взглянуть на мои каракули.
— Ты пытаешься вложить слишком сложную логику в базовое плетение, — сказала она, ткнув пальцем в один из блоков. — Оно не выдержит такой нагрузки.
— Тогда нам нужен «красный стоп-кран», — ответил я. — Простой, как черенок от лопаты. Если любой параметр выходит за рамки — срабатывает аварийное отключение.
— Это грубо, — поморщилась она. — Мы потеряем все данные о причине сбоя. Нужна система мягкой остановки с сохранением…
— Василиса Дмитриевна, — прервал я ее. — Лучше потерять данные, чем прототип и отопление в половине дома в придачу. Сначала безопасность, потом красота. Когда наша хреновина перестанет грозить выжечь оборудование при каждой ошибке, тогда и будем думать об изящных решениях.
Она недовольно поджала губы, но спорить не стала. В моей правоте была простая, но железная логика, против которой не попрешь. Я стер сложную конструкцию и начертил простую, но надежную руну прерывания. Еще одна попытка. Я снова сосредоточился, сплетая потоки магии. На этот раз схема на доске засветилась ровным, стабильным светом.
Есть. Ядро системы готово. Теперь — наращивать мясо.