Электронная машина очень производительна. Она одна может обслужить несколько станков с программным управлением. И использовать ее для непосредственного управления одним станком — значит согласиться с тем, что значительную часть времени она будет бездействовать.
Сейчас это слишком дорогое удовольствие. Но будет ли так всегда? Ответ на этот вопрос ясен. Если удастся создать малогабаритный, высоконадежный, быстродействующий вычислительный блок, который сравнительно дешево сумеет выполнять ограниченный класс задач программирования, свойственных конкретной конструкции станка, то тогда станок и машина могут и будут работать в одной упряжке. Этот вопрос уже обсуждается в технической литературе. А пока в подавляющем большинстве современных конструкций оба автомата разделены во времени и пространстве. Единственно, что их объединяет, — это лента.
Вот уж действительно удивительное средство автоматизации — лента (или карта) с закодированными на ней числами! Около двухсот лет ею пользуются люди. Сначала просто как «находкой», случайно изобретенной предшественниками Жаккара. Затем эту находку приспособили для автоматизации музыкального инструмента, потом в телеграфии, полиграфии, в вычислительной технике, в современных электронных автоматах.
…На магнитную ленту часто в самом простом унитарном коде записывает подробную программу вычислительная машина. На этом ее функции заканчиваются. Программы эти можно хранить, собирать в специальные библиотеки, размножать, пересылать одновременно нескольким заводам.
А станки с программным управлением снабжаются специальными устройствами, предназначенными для введения ленты, считывания и расшифровки сигналов. Для обработки того или иного изделия надо лишь запросить из библиотеки соответствующую программу. И если одинаковые изделия обрабатываются даже на разных заводах, то можно быть уверенным, что они будут действительно одинаковыми.
…В стороне от станка стоит небольшой пульт. Под стеклом с катушки на катушку переливается блестящая коричневой поверхностью магнитная лента. Конструкция напоминает магнитофон. Так и кажется, что сейчас услышишь «мелодию» изделия. Гибкий шланг соединяет пульт со станком. И неслышимая «мелодия» перекодируется в движения — то медленней, то быстрей, вправо и влево, вверх и вниз движутся инструмент и стол станка, и грубая заготовка превращается в изящное, блестящее изделие. Этим превращением управляют числа.
Давайте еще раз проследим тот путь, который отделяет изготовленное таким образом изделие от момента, когда конструктор, сидя за чертежной доской, сделал его чертеж.
Конструктор передает чертеж программисту, который намечает во всех подробностях программу обработки детали и составляет таблицу опорных точек.
Затем эта таблица поступает к оператору. Он сидит за перфоратором и работает, как телеграфист. Только вместо текста телеграммы перед ним лежит таблица и вместо букв он набирает числа — только числа.
Оператор считывает эти числа из таблицы и слегка нажимает на клавиши перфоратора. При этом механизмы перфоратора приводят в движение специальные пробойнички — пуансоны, которые в определенном коде пробивают на ленте отверстия. Оператор работает быстро. Он успевает набирать до ста с лишним знаков в минуту.

Но как гарантировать, что при таком ручном наборе в подготовленную программу не вкралась ошибка?
Текст любой книги после того, как он набран наборщиком, проверяется автором книги, редактором, корректором. При таком многократном контроле у опечатки очень мало шансов остаться незамеченной. А если это и случается, то, как правило, не приносит много вреда. Читатель либо опечатку не заметит либо быстро разберется в сути дела.
Ошибка в одной букве даже в телеграмме, передающей информацию в предельно сжатой форме, редко приводит к трагическим последствиям.
А как обстоит дело при подготовке программы работы станка? При записи ее в унитарном коде лишнее отверстие или отсутствие отверстия в необходимом месте приведут лишь к небольшой ошибке в размерах изделия, она может даже остаться незамеченной.
Но ведь оператор ведет запись на бумажной ленте в ином, более компактном коде. При этом в случае ошибки оператора лишнее отверстие может оказаться в одном из высших разрядов. И, будучи незамеченной, такая ошибка может привести не только к порче изделия, но и к поломке станка.
Во избежание подобных «опечаток» рекомендуют каждую программу записывать дважды; причем поручать это двум разным операторам, а затем результаты их работы тщательно сличить.
Для такого сличения существуют специальные автоматические контрольно-считывающие устройства. Если между двумя проверяемыми лентами оказывается различие, то такое устройство, конечно, не может ответить на вопрос, какая из лент несет правильную программу. Оно просто останавливается и дает оператору сигнал о наличии ошибки. Тогда места несовпадения проверяются и необходимые исправления вносятся вручную.
Такой способ контроля правильности работы оператора весьма далек от совершенства и по надежности и по трудоемкости. И эти недостатки ему свойственны совсем не потому, что он нов. Впервые подобный способ нашел применение свыше тысячи лет тому назад.
В те времена церковники были крайне озабочены большими расхождениями текстов различных экземпляров библии. Было это задолго до изобретения книгопечатания. Переписка текстов велась вручную в течение многих поколений. Переписчики иногда просто ошибались, а подчас пытались по-своему объяснить неясные места в библии. В результате возникали многочисленные разночтения.
Из этого положения был найден следующий выход. На специальном совещании высших духовных лиц был избран и утвержден один из текстов библии, объявленный каноном. Все остальные списки библии подлежали уничтожению. Одновременно была установлена система, исключавшая возможность дальнейшего появления разночтений: были сосчитаны числа слов и букв в каждой главе канонического текста, и переписчики должны были в процессе переписки очередного экземпляра сверяться с этими цифрами.

Таким образом, переписчик работал сначала как оператор, переписывая «программу», то есть библейский текст, с оригинала в список, а затем выполнял функции контрольно-считывающего устройства, сравнивая число написанных им слов и букв с заданными контрольными цифрами.
Само собой разумеется, что церковь не афишировала свое изобретение, а факт удивительного совпадения различных списков библии относила за счет ее якобы божественного происхождения.
Как видите, способы контроля человеческого труда в этой области мало изменились за последнюю тысячу лет. Почему? На этот вопрос не так просто ответить. Во всяком случае, не потому, что над усовершенствованием этих способов не думали. Скорее всего дело в тех трудностях, с которыми связаны любые попытки автоматизировать операции, требующие участия человеческой мысли.
Операция переноса чисел из таблицы на ленту — это мостик, соединяющий два противоположных берега. На одном берегу работают люди, идет творческий процесс. Конструктор создает машину, изделие и разрабатывает чертежи деталей этой машины. Технологи обсуждают процесс обработки и выбирают оборудование, на котором будет вестись обработка, программист составляет программы.
На другом берегу — автоматы. Одни автоматы — вычислительные — «обрабатывают» программы; другие — станки — обрабатывают детали.
А на мостике оператор. Именно он переводит числа с человеческого языка на «машинный» язык. И как ни скромна эта задача, ее решение пока еще требует непосредственного участия человека.
Но вот исходные данные подготовлены человеком и записаны им в удобном для вычислительной машины виде, теперь она будет рассчитывать программу настолько подробно, насколько это предусмотрено человеком, а результаты расчета нанесет на магнитную ленту. Только после этого станок может приступить к делу.