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

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

Сейбел: Вы занимаетесь наукой, кроме того, участвовали в создании крупных систем и работали в промышленности. Какой вы видите связь между научными исследованиями в области компьютерных наук и их практическим применением в промышленности?

Кнут:

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

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

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

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

Сейбел: В 1974 году вы писали о том, что к 1984 году у нас будет “Утопия 84” - идеальный язык программирования, который вытеснит Кобол и Фортран; кроме того, вы говорили о явных признаках того, что такой язык постепенно обретает реальные очертания. С 1984 года прошло уже два десятилетия - похоже, ваши прогнозы не сбылись.

Кнут: Нет, ничего такого не было.

Сейбел:

Это в вас тогда говорил ваш юношеский оптимизм?

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

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

Сейбел:

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

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

Сейбел: Вы и сами создали несколько языков, пожалуй, самый популярный из них - ТеХ.

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

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

Перейти на страницу:

Похожие книги

100 мифов о Берии. Вдохновитель репрессий или талантливый организатор? 1917-1941
100 мифов о Берии. Вдохновитель репрессий или талантливый организатор? 1917-1941

Само имя — БЕРИЯ — до сих пор воспринимается в общественном сознании России как особый символ-синоним жестокого, кровавого монстра, только и способного что на самые злодейские преступления. Все убеждены в том, что это был только кровавый палач и злобный интриган, нанесший колоссальный ущерб СССР. Но так ли это? Насколько обоснованна такая, фактически монопольно господствующая в общественном сознании точка зрения? Как сложился столь негативный образ человека, который всю свою сознательную жизнь посвятил созданию и укреплению СССР, результатами деятельности которого Россия пользуется до сих пор?Ответы на эти и многие другие вопросы, связанные с жизнью и деятельностью Лаврентия Павловича Берии, читатели найдут в состоящем из двух книг новом проекте известного историка Арсена Мартиросяна — «100 мифов о Берии».В первой книге охватывается период жизни и деятельности Л.П. Берии с 1917 по 1941 год, во второй книге «От славы к проклятиям» — с 22 июня 1941 года по 26 июня 1953 года.

Арсен Беникович Мартиросян

Биографии и Мемуары / Политика / Образование и наука / Документальное
Клуб банкиров
Клуб банкиров

Дэвид Рокфеллер — один из крупнейших политических и финансовых деятелей XX века, известный американский банкир, глава дома Рокфеллеров. Внук нефтяного магната и первого в истории миллиардера Джона Д. Рокфеллера, основателя Стандарт Ойл.Рокфеллер известен как один из первых и наиболее влиятельных идеологов глобализации и неоконсерватизма, основатель знаменитого Бильдербергского клуба. На одном из заседаний Бильдербергского клуба он сказал: «В наше время мир готов шагать в сторону мирового правительства. Наднациональный суверенитет интеллектуальной элиты и мировых банкиров, несомненно, предпочтительнее национального самоопределения, практиковавшегося в былые столетия».В своей книге Д. Рокфеллер рассказывает, как создавался этот «суверенитет интеллектуальной элиты и мировых банкиров», как распространялось влияние финансовой олигархии в мире: в Европе, в Азии, в Африке и Латинской Америке. Особое внимание уделяется проникновению мировых банков в Россию, которое началось еще в брежневскую эпоху; приводятся тексты секретных переговоров Д. Рокфеллера с Брежневым, Косыгиным и другими советскими лидерами.

Дэвид Рокфеллер

Биографии и Мемуары / История / Образование и наука / Документальное