Чтение онлайн

на главную - закладки

Жанры

Кодеры за работой. Размышления о ремесле программиста

Сейбел Питер

Шрифт:

Сидя на кухне стокгольмской квартиры Армстронга, мы несколько дней обсуждали подход к параллелизму, реализованный в Erlang, необходимость поиска более простых и эффективных способов связи между программами, а также важность вскрытия “черных ящиков”.

Сейбел: Как вы научились программированию? Когда все это началось?

Армстронг: В школе. Я родился в 1950 году - тогда компьютеров было мало. В последнем классе, когда мне было примерно 17, местный совет приобрел мэйнфрейм - вероятно, производства IBM. На нем можно было писать программы на Фортране. Тогда все писали программы на специальных

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

Из компьютерного центра их опять присылали к вам, и компилятор Фортрана, споткнувшись о первую же синтаксическую ошибку, с остальной частью программы вообще не работал. Чтобы запустить свою первую программу, требовалось месяца три. Тогда я научился вместо одной программы писать несколько параллельных подпрограмм, и отсылал уже их. Я написал программку, которая выводила на печать изображение шахматной доски. Но все подпрограммы были решены как параллельные задачи, поскольку время обработки задания было невероятно большим.

Сейбел: Значит, приходилось писать подпрограммы, по сути, с модульными тестами для их проверки?

Армстронг: Да, и потом соединять их. Не знаю, можно ли это назвать обучением программированию. Потом я поступил на физическое отделение Лондонского университетского колледжа. Кажется, программирование там начиналось уже на первом курсе. Время обработки заданий составляло часа три. Но при запуске одновременно четырех-пяти программ все шло быстрее.

Сейбел: А в старших классах были уроки информатики?

Армстронг: Нет, был факультатив - что-то вроде компьютерного клуба. Помню, как мы ходили смотреть на компьютер. Множество серьезных, взрослых людей в белых халатах, с ручками в кармане, двигались торжественно, как в церкви. Компьютер был очень дорогой.

Сейбел: Вы изучали физику. А как вы перешли к программированию?

Армстронг: Когда я был на последнем курсе, на некоторых занятиях требовалось писать программы. Мне это нравилось. Я очень хорошо освоил отладку и делал ее для других, если ничто больше не помогало. Стандартной таксой была бутылка пива. Дальше все зависело от сложности - двухбутылочная задача, трехбутылочная задача и так далее.

Сейбел: То есть сколько человек должен был вам за отладку его программы - две, три бутылки?

Армстронг: Да. Исправляя ошибки, я обычно читал программу и говорил: “Тут можно бы сделать и попроще”, - и переписывал ее. Меня поражало, что народ пишет такие сложные программы. Я понимал, как обойтись пятью строчками, а другие писали их десятками! И я удивлялся: как можно не видеть простого решения.

Но по-настоящему я занялся программированием после того, как стал бакалавром и решил, что буду писать диссертацию. И вот я начал трудиться над диссертацией по физике высоких энергий и присоединился к группе, которая работала с пузырьковой камерой. У них был компьютер Honeywell DDP-516. Я мог работать с ним сам! Да, там были перфокарты, но я мог запускать программы - вставляешь карту, нажимаешь кнопку - трррр!
– и машина тут же выдает ответ. Просто восторг! Я написал для этого компьютера шахматную программку.

Тогда применялась память на магнитных сердечниках, которые соединяли вместе пожилые тетеньки. Если вы заглядывали внутрь, то видели

магнитики и кучу проводов. Страшно дорогая штука - двадцать дисков весом под пятнадцать кило, на которых умещалось мегабайт десять. И телетекстовый интерфейс, чтобы настукивать программы.

А потом появился один из первых дисплеев - можно было набирать программы и редактировать их. Фантастика! Никаких больше перфокарт. Помню, мы разговорились с сотрудником, который обслуживал компьютер, и я сказал: “Когда-нибудь такой будет у каждого”. А он мне в ответ: “Ты с ума сошел, Джо!” - “Почему?” - “Да потому, что это слишком дорого”.

Вот тогда я и научился программировать всерьез. Мой научный руководитель говорил: “Тебе надо бросить диссертацию по физике и заняться компьютерами, раз ты так их любишь”. Я возражал, что хочу закончить ее, если уж начал. Но он был прав, как видим.

Сейбел: Так вы написали диссертацию или нет?

Армстронг: Нет. У меня закончились деньги, и я поехал в Эдинбург. Когда я изучал физику, то, как и другие, занимался в физической библиотеке. В уголке там прятался стеллаж с компьютерными книгами. Среди них были четыре коричневых тома под названием “Machine Intelligence” (Машинный интеллект), изданные отделением машинного интеллекта Эдинбургского университета. Я в принципе изучал физику, но с жадностью поглощал эти книги и думал: “До чего же занятно!” Поэтому я написал Дональду Мичи, который возглавлял это отделение, о том, что все это мне очень интересно, и спросил, нет ли у него какой-нибудь работы. Мне пришел ответ. Мичи писал, что работы пока нет, но он был бы рад познакомиться, посмотреть, кто я такой.

Через несколько месяцев Мичи не то позвонил, не то написал мне, что в ближайший вторник будет в Лондоне и хотел бы встретиться со мной. Так как он пересаживался на эдинбургский поезд, то предлагал увидеться на вокзале. Мы встретились, и Мичи сказал: “Хм, здесь не очень-то поговоришь - пойдемте в паб”. Мы поболтали в пабе, и чуть позже он написал мне: “У меня в Эдинбурге есть место в лаборатории, не хотите ли поработать?” Я переехал в Эдинбург и стал помощником Мичи по исследовательской части. Вот так я бросил физику ради компьютерной науки.

Во время Второй мировой Мичи работал с Тьюрингом в Блетчли-парке, и ему достались все бумаги Тьюринга. У меня был стол в библиотеке Тьюринга, так что я сидел среди тьюринговских бумаг. Год я проработал в Эдинбурге. Потом все там рухнуло. Дело в том, что правительство поручило математику Джеймсу Лайтхиллу выяснить, как в Эдинбурге обстоят дела с искусственным интеллектом. Лайтхилл выяснил и заявил, что ничего коммерчески ценного из этого не вырастет.

Вообще, все это напоминало гигантский детский манеж. Я был членом-основателем Британской робототехнической ассоциации, и нам казалось, что все это - дело чрезвычайной важности. Но те, кто финансировал нашу работу, не хотели и слышать о роботах! Где-то около 1972 года финансирование прекратилось. Народ стал говорить: “Что ж, занятная была работа, теперь надо искать что-то другое”.

Итак, надо было возвращаться к физике. Я приехал в Швецию и стал заниматься физическими компьютерными программами в научной ассоциации EISCAT. Мой начальник, старше меня, пришел из IBM; я должен был разрабатывать спецификацию, аон- реализовывать ее. Мы спорили по этому поводу. Он говорил: “Плохо то, что у нас нет описания задания и подробной спецификации”. А я отвечал: “Так это же прекрасно, что нет описания, - можно самому определять задание для себя”. Через год он ушел, а я занял его место - место ведущего разработчика.

Поделиться:
Популярные книги

Вонгозеро

Вагнер Яна
1. Вонгозеро
Детективы:
триллеры
9.19
рейтинг книги
Вонгозеро

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Сборник коротких эротических рассказов

Коллектив авторов
Любовные романы:
эро литература
love action
7.25
рейтинг книги
Сборник коротких эротических рассказов

Архонт

Прокофьев Роман Юрьевич
5. Стеллар
Фантастика:
боевая фантастика
рпг
7.80
рейтинг книги
Архонт

Медиум

Злобин Михаил
1. О чем молчат могилы
Фантастика:
фэнтези
7.90
рейтинг книги
Медиум

Титан империи 8

Артемов Александр Александрович
8. Титан Империи
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Титан империи 8

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма

Волхв

Земляной Андрей Борисович
3. Волшебник
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волхв

Я еще не барон

Дрейк Сириус
1. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще не барон

Темный Патриарх Светлого Рода

Лисицин Евгений
1. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода

Пистоль и шпага

Дроздов Анатолий Федорович
2. Штуцер и тесак
Фантастика:
альтернативная история
8.28
рейтинг книги
Пистоль и шпага

Корпулентные достоинства, или Знатный переполох. Дилогия

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.53
рейтинг книги
Корпулентные достоинства, или Знатный переполох. Дилогия

Ученик. Книга 4

Первухин Андрей Евгеньевич
4. Ученик
Фантастика:
фэнтези
5.67
рейтинг книги
Ученик. Книга 4

Часовое имя

Щерба Наталья Васильевна
4. Часодеи
Детские:
детская фантастика
9.56
рейтинг книги
Часовое имя