Некоторые интересные факты из истории ЭВМ
1. 14 февраля - это не только день св. Валентина, но и день рождения ЭВМ. В этот день в 1946 году в Вашингтоне, в Лаборатории баллистических исследований Джон фон Нейман, Джон Мокли и Проспер Экерт показали в действии свое изобретение - первую в мире электронно-вычислительную машину (ЭВМ). Она получила название "ENIAC" - "Electronic Numerical Integrator And Calculator" (буквально "Электронный числовой оператор с целыми числами и вычислитель"). ENIAC мог выполнять четыре арифметических действия с целыми числами. Числа могли быть как положительными, так и отрицательными, но только целыми. Количество двоичных разрядов (битов) было ограничено числом 32, т. е. ENIAC мог работать с числами, по модулю не превышающими 2 в 32-й степени, что больше 4 миллиардов. Быстродействие ENIAC'а составляло всего 5000 операций сложения и вычитания или же 300 умножений и делений в секунду. По нынешним меркам черепашья скорость... Но по сравнению с ручными вычислениями, когда одна операция умножения многозначных чисел могла занять как минимум полминуты, это был большой шаг вперед. Даже механические вычислительные устройства выполняли не более 2-3 операций в секунду.
2. Далеко не всегда год, указанный в названии версии программного продукта или стандарта языка программирования, совпадает с реальным годом выхода этого продукта в свет. Так например, знаменитый стандарт Фортрана, именуемый "Фортран-77" разрабатывался в течение 1977 года, но вышел в свет 11 января 1978 года. Тем не менее стандарт получил название "Фортран-77", а не "Фортран-78". Windows-95 вышла в свет 12 ноября 1996 г., а Windows-98 - 23 апреля 1999 г. Однако бывают и совпадения: стандарт "Фортран-90" имеет дату выхода в свет 19 октября 1990 г., а "Фортран-2000" - 26 июня 2000 г. Операционная система Windows-2000 "родилась" 22 марта 2000 г., а Millennium - 8 июня 2000 г., но это система старого тысячелетия...
3. Изобретатель табулятора, основатель фирмы IBM Герман Холлерит родился 29 февраля 1860 года в городе Буффало (США). Таким образом день рождения у него был только раз в 4 года (учитывая, что 1900 год - простой, после 1896 г. бедному Герману пришлось ждать целых 8 лет - аж до 1904 года...). За всю 69-летнюю жизнь (он скончался 17 ноября 1929 года в Вашингтоне) Холлерит праздновал свой день рождения только 17 раз...
Кроме того, в языке программирования Фортран текстовая константа (строка) иногда называется в честь Германа Холлерита "холлеритова константа", и один из форматов ввода/вывода текстовых данных в Фортране обозначается буквой H - первой буквой фамилии Холлерит.
Герман Холлерит (1860 - 1929)
4. Один из авторов первой в мире ЭВМ ENIAC Джон фон Нейман родился в Будапеште, в столице Венгрии, 28 декабря 1903 года. Его настоящее имя - Янош Наймани. Окончив в 1926 году Будапештский университет, Янош был приглашен работать в Германию, где был сначала ассистентом, затем (с 1930 года) доцентом Берлинского университета. По германским законам того времени Янош Наймани перевел свои имя и фамилию на немецкий язык и стал именоваться Иоганн фон Нойман. После прихода к власти нацистов (1933) Нойман эмигрировал в США, где работал в Принстонском университете в звании профессора. Свое имя Иоганн перевел на английский язык и стал именоваться Джоном, а немецкую фамилию фон Нойман стал произносить с английским акцентом - фон Нейман, не меняя ее написания (von Neumann). Так венгр Янош Наймани стал сначала немцем Иоганном фон Нойманом, а затем американцем Джоном фон Нейманом. Умер Джон фон Нойман очень рано - в 53 года - 8 февраля 1957 года в Вашингтоне от рака костей (вероятно, он заболел этой страшной болезнью, работая с радиоактивными веществами).
Джон фон Нейман
(1903 - 1957)
5. Машина Поста - абстрактная вычислительная машина, предложенная в 1936 г. американским математиком и логиком Эмилем Леоном Постом (родился 11 февраля 1897 года в польском городе Августов, умер 21 апреля 1954 г. в Нью-Йорке) предназначена для выполнения арифметических действий с целыми неотрицательными числами. Машина имеет вид ленты, бесконечно простирающейся в обе стороны и разделенной на секции. В каждой секции может быть либо не записано ничего (пустая секция), либо записана метка в виде латинской буквы v (отмеченная секция). Вдоль ленты перемещается курсор в виде черного квадрата, который печатает и стирает метки на ленте. Числа кодируются следующим образом: ноль - одна отмеченная секция, единица - массив из двух идущих подряд отмеченных секций, двойка - массив из трех идущих подряд отмеченных секций и т. д. Машина действует по специально составленной программе, состоящей из команд шести видов (движения курсора на одну секцию вправо и влево, печатание и стирание метки в секции, обозреваемой курсором в текущий момент времени, выбор в зависимости от того, пуста или отмечена обозреваемая секция, остановка).
При этом исключительную роль играет взаимное положение курсора и записи чисел, с которыми необходимо произвести вычисления, в начальном состоянии машины, т. е. способ хранения данных. Например, для выполнения простейшей арифметической операции - прибавлении единицы к данному целому неотрицательному числу - в простейшем случае (в начальном состоянии курсор обозревает самую левую или самую правую секцию записи исходного числа) требуется простая программа из трех команд - движение влево (соответственно вправо), запись метки и остановка, а в самом сложном случае (взаимное положение курсора и записи числа заранее неизвестно) программа очень сложна и состоит из двадцати семи команд (ее можно сократить до дадцати трех команд, но время выполнения программы при этом в ряде случаев возрастает). О машине Поста и задаче прибавления единицы рассказывается на странице "Машина Поста".
Кроме того, в машине Поста возможны те же три исхода выполнения программы, что и в современных ЭВМ - результативная остановка (машина остановилась по команде stop), аварийная остановка (машина выполнила некорректную операцию), бесконечная работа машины (программа зациклилась).
Эмиль Леон Пост (1897 - 1954)