Программирование на заре компьютерной эры

Joyce Blackler using Edsac Копірайт зображення GR Holder
Image caption Джойс Уилер - член небольшой группы ученых, проводивших исследования с помощью электронной вычислительной машины EDSAC

Наверное, каждый человек помнит свой первый компьютер, и Джойс Уилер - не исключение. Однако ее ситуация - особая. Ей довелось прикоснуться к одному из самых первых компьютеров.

Это была электронная вычислительная машин EDSAC (Electronic Delay Storage Automatic Computer), созданная в 1949 году в Кембриджском университете группой разработчиков, одним из которых была Джойс Уилер.

В то время он работала над диссертацией под руководством знаменитого астронома Фреда Гойла.

"Моя работа была посвящена физике звезд - реакциям, которые происходят внутри этих небесных тел, - рассказывает она. - Я хотела узнать, когда звезды гаснут".

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

"Кроме того, чтобы описать поведение и состав звезд, используются довольно сложные дифференциальные уравнения".

Копірайт зображення Getty Images
Image caption EDSAC помог Уилер исследовать звездное мерцание

Производить эти расчеты вручную - бесполезно.

"Я не смогла бы расчитать все вручную, - говорит Уилер. - Это привело бы к недопустимому количеству ошибок".

Однако появление EDSAC - машины, разработанной профессором Морисом Уилксом для расчетов, которые требовались для работы Уилер (урожденная Блеклер), помогло ей получить ученую степень.

Время на размышления

Впрочем, сначала она должна была написать программы вычислений.

Уилер приступила к своей исследовательской работе в Кембридже в 1954 году, уже зная об EDSAC - ранее она вместе с другими молодыми учеными посетила презентацию этого компьютера.

Желая ускорить свою работу, она изучила тоненькую методичку по программированию этой машины. Выполнив все упражнения, представленные в этом пособии, Джойс научилась программированию.

Копірайт зображення GR Harvey
Image caption Как и другие аспиранты, Джойс Уилер была вынуждена работать с компьютером EDSAC по ночам

Пособие было названо в честь трех авторов - Мориса Уилкса (Wilkes), Дэвида Уилера (Wheeler) и Стэнли Гилла (Gill).

Учась программированию, Блеклер много общалась с Дэвидом Уилером. Одна из ее программ оказалась очень полезной для обеспечения качественной работы компьютера. Молодые люди раззнакомились, полюбили друг друга и в 1957 году поженились.

Сегодня, спустя более 62 лет с момента начала своего исследования, Уилер рассказывает об этом, как о чем-то обыденном, хотя программистов на тот момент было очень мало, а женщин-программистов еще меньше.

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

"Порой на женщину смотрели как на сексуальный объект, что приводило к возникновению неловких ситуаций, - вспоминает она. - Однако тогда компьютеры не считались чисто мужским делом".

"Это были очень интересные времена", - рассказывает она. Ее радовало, что машина помогает ей в исследовании. Она ловила основы программирования на лету - математические способности помогали ей мгновенно освоить алгоритм, в который нужно было перевести сложнейшие уравнения.

"Впрочем, я быстро поняла, что в этом деле, как в математике, главное - не переусердствовать", - отмечает Уилер.

Копірайт зображення maciek905
Image caption Создатели компьютера EDSACО заложили сновы программирования

"Я заметила, что могу заниматься программированием определенное количество часов в день. В противном случае производительность труда падала".

Иногда решение сложной задачи приходило неожиданно - когда ее голова была занята совсем другими, далекими от программирования, вопросами. Например, во время обеда или стирки.

"Иногда лучше отвлечься, сделать паузу - в программировании этот принцип отлично работает".

Ночные смены

После написания программы она поручала сложные вычисления компьютеру. Как аспирантка она могла запускать свои программы только ночью. Ей выделили ночь с пятницы на субботу.

"Мне очень повезло, ведь на следующий день не надо было идти на лекции", - смеется она.

Джойс разрешили работать с компьютером самостоятельно, однако она была вынуждена записывать все свои действия в специальный журнал.

"Часто компьютер ломался посреди ночи. В редких случаях удавалось поработать всю ночь, - вспоминает она. - Если же EDSAC выходил из строя, почти ничего нельзя было сделать".

"Обычным операторам запрещено было его ремонтировать. А уборщикам подходить к нему близко вообще категорически запрещалось", - вспоминает Уилер.

Ее научили, как делать калибровку двух килобайт памяти компьютера - и если это не помогало, оставалось только сворачивать работу.

Несмотря на регулярные поломки, Джойс Уилер успешно продвигалась к своей цели - исчислению средней "продолжительности жизни" небесных тел.

Копірайт зображення John Robertson
Image caption Копию компьютера EDSAC сейчас готовят к экспозиции в Национальном музее истории вычислительной техники

"Я научилась устанавливать приблизительный возраст звезд, - говорит она. - Одним из несомненных преимуществ программирования было то, что любую операцию можно было повторить. Вручную сделать это было бы невозможно".

"Можно было вписать в программу данные и легко их проверить, - добавляет она. - Я могла очень быстро проверить результаты своих вычислений. Это было очень полезно".

Для компьютера 1950-х годов все происходило "очень быстро" - на один запуск программы требовалось где-то полчаса. Далее результаты вычислений выводились на печать, и исследователи еще долго изучали и анализировали их. После этого они вносили в программу необходимые изменения и, возможно, ждали еще несколько дней, прежде чем снова ее запустить.

Несмотря на низкие темпы работы, Джойс Уилер четко осознавала, что они были пионерами в своей области.

"Мы выполняли работу, которую невозможно было выполнить иначе", - говорит она. По современным стандартам EDSAC машина работала примитивно и очень медленно, однако это было началом настоящей революции.

"Было ясно, что однажды, когда машины будут большими и быстрыми, они помогут человеку в решении многих проблем", - резюмирует Уилер.

Новости по теме