Дональд Кнут платит один шестнадцатеричный доллар за ошибку

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

1 Дональд Кнут на открытии выставки революции в Музее компьютерной истории
1 Дональд Кнут на открытии выставки революции в Музее компьютерной истории

Цель Кнута в этой монументальной работе состояла в том, чтобы обобщить технику программирования и найти ей соответствующее применение. Его основным вкладом было обобщение материала и анализ методов. Он пытался развить наиболее используемые теории для разных методов и заполнить пробелы в этих теориях, он был первым, кто находил эти пробелы и собрал все эти разбросанные теории. Вначале Кнут думал, что напишет только одну книгу о компиляторах. Набросав несколько глав, тем не менее, он почувствовал, что книга должна быть гораздо большей и основополагающей. Получив зеленый свет от издателя, он писал, писал и писал. К июню 1965 года он завершил первый проект из двенадцати глав, который размещался на трех тысячах страницах рукописного текста. В октябре он отослал первую главу издателю. Издательство «Addison-Wesley» предложило, что двенадцать частей будут опубликованы как семь отдельных томов, каждый которых будет содержать один или два раздела. Кнута устраивало такое предложение.

Когда Кнут сверстал второй том «Искусства программирования», используя METAFONT и ТеХ, результат был лучше, но не идеальным. Плохо получались числа. Так он потратил еще пять лет, работая с лучшими дизайнерами по графике, для того, чтобы создать новые системы и наиболее полно использовать их потенциал. Летом 1986 года разработки Кнута по типографии были завершены, и вышел пятитомник «Компьютеры и набор знаков». Первый том посвящен ТеХ; второй содержит полный источник кодов ТеХ; третий и четвертый, соответственно, посвящены METAFONT и полному источнику кодов для него; пятый том содержит 500 с лишним примеров программирования по METAFONT.

В 1986 году на приеме в издательстве «Addison-Wesley», устроенном в его честь, ему задали вопрос: «Будет ли завершен его семитомник, будут ли дописаны четыре недостающих тома?» Он ответил, что их написание заняло бы еще двадцать лет [2]

Некоторые факты биографии

Дональд Кнут родился 10 января 1938 года в Милуоки (штат Висконсин)-Его отец преподавал бухгалтерский учет в университете и занимался также дома, в подвале, печатным делом. Ребенком Кнут с удовольствием играл с калькулятором отца, который мог перемножать десятизначные числа, но у него уходило от десяти до двадцати секунд, чтобы напечатать ответ.

2 Дональд Кнут перед статуей Святого Месропа Маштоца, Матенадаран, Ереван, Армения
2 Дональд Кнут перед статуей Святого Месропа Маштоца, Матенадаран, Ереван, Армения

Кнут вспоминает, как он пытался извлечь квадратный корень из десяти, пытался и ошибся. Открыв, что ответ находится между 3,16 и 3,17, он сделал заключение, что число должно иметь истинное значение п, а не 3,14, как говорилось в его учебнике. Вскоре он понял, что его заключение было ошибочным.

Любовь Кнута к математике усилилась на первом году учебы в университете. Он был захвачен графикой алгебраических функций — областью нескончаемых возможностей. Физика также ему нравилась, и он разрывается между ней и музыкой — он серьезно обучался игре на пианино, сам написал несколько произведений. Кнут признает, что у него комплекс неполноценности. Это объясняет, говорит он, то, что он всегда много работал. В старших классах Милуокской лютеранской высшей школы он беспокоился, что низкие оценки по математике могут помешать его поступлению в колледж, но это была непонятная озабоченность, поскольку он закончил школу с самым высоким коэффици-ентом за все времена — 97,5%.

В 1956 году он поступил в Кейский Технологический институт в Кливленде. Во время каникул после первого курса Кнут впервые занялся работой с компьютером. У него было задание на лето — построить графики для статистиков Кейса. В соседней комнате находилась новая машина IBM 650. Кнут так загорелся ею, что посвятил «Искусство программирования» компьютеру IBM 650, установленному в Кэйском технологическом институте, в память о многих приятных вечерах. Некоторые из его преподавателей советовали ему держаться в стороне от компьютеров, утверждая, что это ни к чему хорошему не приведет. Но любопытство взяло верх, он проводил ночи напролет с компьютером [2]

Почему Вы платите 2,56 доллара за каждую ошибку в своей книге?

Дональд Кнут: "Я рано ушел на пенсию, потому что понял, что мне потребуется не менее 20 лет полной занятости, чтобы завершить искусство компьютерного программирования (TAOCP), которое я всегда рассматривал как самый важный проект в моей жизни.

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

Мой график писательства на полную ставку означает, что я должен быть в значительной степени отшельником. Единственный способ добиться достаточной эффективности, чтобы овладеть искусством компьютерного программирования, — это работать в пакетном режиме, интенсивно и непрерывно концентрируясь на одном предмете за раз, вместо того, чтобы менять местами несколько тем в голове и из головы. Я не могу назначать встречи с посетителями, ездить на конференции, соглашаться на выступления или брать на себя какие-либо новые обязанности любого рода. Я рад, что WWW дает мне возможность отвечать на вопросы, которые мне не нужно видеть или слышать.

3 Один из наградных чеков Кнута
3 Один из наградных чеков Кнута

Я плачу 2,56 доллара за каждую ошибку, обнаруженную в моих книгах. 256 пенни — это один шестнадцатеричный доллар.

Оказывается, только 9 из первых 275 чеков, которые я разослал с начала 2006 года, действительно были обналичены. Остальные, по-видимому, были кэшированы. Так что это изменение в политике, вероятно, не затронет слишком много людей. С другой стороны, я не люблю отказываться от обещаний, поэтому я сделаю все возможное, чтобы найти подходящий способ отправить деньги любому, кто действительно предпочитает законное платежное средство [3]

Интересно? Еще можно почитать

1) «Решение технических задач и производство новых идей до середины XX века основывалось на методе проб и ошибок. Неэффективность этого метода компенсировалась увеличением числа людей, занятых решением творческих задач. Примерно так когда-то наращивали число гребцов на вёсельных кораблях. А потом заменили весла парусами... Метод проб и ошибок исчерпал свои возможности, его несовершенство уже не компенсируется никаким «увеличением числа гребцов». Поэтому создание алгоритмов решения технических, научных и других задач не только возможно, но и необходимо. Вслед за АРИЗ будут созданы алгоритмы для решения научных и других задач. На каком-то этапе неизбежно начнется разработка Общей Теории Решения Творческих Задач.

Этот и еще 20 материалов VIKENT.RU по теме Системы приёмов

2) Видео: ВЫЯВЛЕНИЕ МЕТОДИК / ПРИЕМОВ РАБОТЫ

3) Начат приём Ваших вопросов на принципиально бесплатную онлайн-консультацию № 301 (#умные могут оценить номер...) на вечер воскресенья 22 января 2023 в 19:59 (мск) по более чем 400-м направлениям творческой деятельности

Задать Ваши вопросы свободно можно на странице портала: https://vikent.ru/w0/ И чем сложнее будут Ваши вопросы — тем лучше: они развивают всех.

Источники

Фото:

Начать дискуссию