Натаниэль Рочестер — ученый, который был членом команды IBM, участвовал в создании IBM 701, написал первый символ языка ассемблера и принимал участие в создании одного из первых языков программирования FORTRAN. В этой статье мы рассмотрим биографию Рочестера, его работы и вклад в науку.

Юность Рочестера и начало работы с компьютерами

Натаниэль Рочестер родился 14 января 1919 года. Он с детства интересовался устройством вещей. Природное любопытство привело его к изучению электроники, которая в то время только начинала развиваться. После школы Рочестер поступил в Массачусетский технологический институт (MIT), где изучал электротехнику.

Портрет Натаниэля Рочестера
Портрет Натаниэля Рочестера

Натаниэль окончил ВУЗ в 1941 году. В 1948 году он начал работать в IBM. IBM была компанией, которая изучала возможности компьютеров. Одним из первых крупных проектов, над которыми он работал в IBM, был большой компьютер под названием IBM 701.

Создание компьютера IBM 701

В начале 1950-х годов Натаниэль Рочестер вместе с Джерриером Хаддадом поручили разработать первый коммерческий научный компьютер IBM. Создание модели 701 было непростым. Процесс требовал не только технических знаний, но и глубокого понимания потребностей пользователей. Команда должна была тесно сотрудничать с учеными и экспертами оборонного ведомства, чтобы понять их вычислительные потребности и разработать машину, способную удовлетворить эти потребности.

Машина 701 была частью более крупной системы, в которую входили различные устройства, такие как электростатический накопитель IBM 706, устройство чтения перфокарт IBM 711, принтер IBM 716 и другие. В системе использовалась логическая схема на вакуумных трубках и электростатическое запоминающее устройство, состоящее из 72 трубок Вильямса емкостью 1024 бита каждая, что давало общую память в 2048 слов по 36 бит каждое.

IBM 701. Электронный аналитический блок управления. Источник: IBM
IBM 701. Электронный аналитический блок управления. Источник: IBM

IBM 701 представили публике 21 мая 1952 года. Машина могла обрабатывать данные в беспрецедентных масштабах, что сделало ее бесценным инструментом для ученых, инженеров и предпринимателей. Оборонный калькулятор IBM 701 стал не только первым крупномасштабным мэйнфреймом IBM, но и одним из первых компьютеров, который был способен обрабатывать большие объемы данных и выполнять сложные вычисления.

Благодаря созданию IBM 701 позже появились более совершенные машины, а IBM стала ведущей компанией в области вычислительной техники. Машина также имела коммерческий успех. Изначально IBM рассчитывала получить заказы на пять машин, но в итоге было заказано 18, что продемонстрировало готовность рынка к таким передовым вычислительным возможностям.

IBM 701 можно было брать в аренду по цене 12 000 долларов в месяц на одну 40-часовую смену. Если добавлялась вторая 40-часовая смена, стоимость аренды возрастала до $20 000 в месяц. Эта стоимость с учетом инфляции эквивалентна примерно 135 688 долларов США в 2023 году. В пересчете на российские рубли эта сумма составляет примерно 11,34 миллиона рублей по состоянию на 23 июня 2023 года.

Участие в разработке assembly

До появления языка assembly программистам приходилось писать на машинном коде. Язык был понятен компьютерам, но человеку было сложно его воспринимать. Например, написать историю можно было только с использованием цифр. Но этот процесс был медленным и не исключал допущения множества ошибок.

Сама концепция assembly была создана не Рочестером. Первый язык assembly был системой, в которой человекочитаемые символы использовали для инструкций машинного кода. Его концепцию представили Кэтлин и Эндрю Дональд Бут в 1947 году в своей работе «Coding for A.R.C». Затем язык доработали и адаптировали к командам в различных организациях, включая IBM.

Листинг программы на языке ассемблера Motorola MC6800. Слева идут адреса и машинные коды в шестнадцатеричной системе, вычисленные и сгенерированные ассемблером из исходного кода программы. Справа показан сам текст программы с мнемоническими инструкциями, метками, директивами, выражениями и комментариями
Листинг программы на языке ассемблера Motorola MC6800. Слева идут адреса и машинные коды в шестнадцатеричной системе, вычисленные и сгенерированные ассемблером из исходного кода программы. Справа показан сам текст программы с мнемоническими инструкциями, метками, директивами, выражениями и комментариями

Натаниэль Рочестер сыграл важную роль в разработке языка ассемблера, который позволял писать программы в виде коротких, читаемых команд, а не чистых чисел или перфокодов. С помощью этого языка процесс программирования стал более упорядоченным и эффективным. Так, задачи, на которые могли уйти дни из-за необходимости постоянно проверять и переводить машинный код, можно было решить за несколько часов.

Разработка языка программирования FORTRAN

FORTRAN (FORmula TRANslation) — один из первых языков программирования высокого уровня. Разработка FORTRAN началась в 1954 году, а первая версия была выпущена в 1957 году. С его помощью получилось перейти от низкоуровневого машинного кода и языка assembly к более абстрактному языку высокого уровня, который было легче понять и использовать.

До появления FORTRAN программирование было утомительным процессом, связанным с написанием длинных последовательностей двоичного кода или кода на assembly. FORTRAN же позволял программистам писать код в формате, приближенном к человеческому языку. Это сделало программирование более доступным для широкого круга людей и повысило эффективность разработки кода.

Рочестер был членом команды IBM, которая работала над созданием FORTRAN. В нее входили ведущий разработчик в IBM Джон Бэкуси и группа исследователей в Научной лаборатории Уотсона: Шелдон Ф. Бест, Харлан Херрик, Питер Шеридан, Рой Натт, Роберт Нельсон, Ирвинг Зиллер, Ричард Голдберг, Лоис Хайбт и Дэвид Сэйр.

Перфокарта с разметкой колонок для FORTRAN ранних версий
Перфокарта с разметкой колонок для FORTRAN ранних версий

Работа Рочестера и его коллег помогла утвердить FORTRAN в качестве мощного инструмента для научных вычислений и заложить основу для развития других последующих языков высокого уровня. FORTRAN используют и сегодня, он популярен в научных и инженерных областях, где высоко ценятся возможности языка к численным вычислениям.

Наследие Рочестера и его вклад в науку

Благодаря мышлению и техническим знаниям Натаниэль Рочестер смог разработать архитектуру IBM 701 и язык ассемблера. Работа ученого заложила основу для разработки таких языков, как FORTRAN, которые сделали программирование более доступным и привели к быстрому росту и широкому распространению программных приложений.

Будучи участником Дартмутской конференции, он вместе с коллегами сформировал траекторию развития искусственного интеллекта. С тех пор ИИ стал движущей силой многочисленных технологических достижений, преобразуя различные отрасли и общество в целом.

Ученые, которые предложили провести Дартмутскую конференцию в 1956 году. Слева направо: Джон Маккарти, Марвин Мински, Клод Шеннон и Натаниэль Рочестер
Ученые, которые предложили провести Дартмутскую конференцию в 1956 году. Слева направо: Джон Маккарти, Марвин Мински, Клод Шеннон и Натаниэль Рочестер

Работа Рочестера помогла сформировать мир компьютеров таким, каким мы его знаем сегодня, сделала компьютеры и программирование более доступными и заложила основу для многих технологий, которые мы используем сегодня.

Комментарии (3)


  1. gatoazul
    05.07.2023 10:13

    "Первый символ языка ассемблера" - ну-ну.


    1. victor_1212
      05.07.2023 10:13
      +1

      перевод кривой конечно, но сам человек интересный, во время II мировой войны работал в mit radiolab, где собственно создали первый радары, дальше silvania, где он сделал alu для mit whirlwind, в ibm занимался не только 701, но всей 700 серией (701,702,704,705,709 и пр.), т.е. менеджер довольно высокого уровня, идея использования символического ассемблера для 701 не была новой, но реализация одной из первых широко известных, после 700 серии Натаниэль Рочестер занимался еще многим другим включая Lisp и AI

      ps

      как обычно wiki далеко не лучший источник информации


  1. j1mHawkins
    05.07.2023 10:13

    В начале 1950-х годов Натаниэль Рочестер вместе с Джерриером Хаддадом поручили разработать первый коммерческий научный компьютер IBM

    Натаниэлю Рочестеру и Джерриерому Хаддаду поручили разработать первый коммерческий научный компьютер IBM. Или замените слово "поручили" на трудились итд.