Дональд Эрвин Кнут — американский учёный в области информатики, эмерит-профессор Стэнфордского университета

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Дональд Эрвин Кнут — американский учёный в области информатики, эмерит-профессор Стэнфордского университета, почетный доктор СПбГУ и других университетов, преподаватель и идеолог программирования, автор 19 монографий и более 160 статей, разработчик нескольких известных программных технологий. Автор всемирно известной серии книг, посвящённой основным алгоритмам и методам вычислительной математики, а также создатель настольных издательских систем ??? и METAFONT, предназначенных для набора и вёрстки книг научно-технической тематики

Нужно видеть алгоритм, которому нужно верить. — Дональд Кнут

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

Список настолько силен, насколько слаба его ссылка.

Всегда помни, однако, что обычно есть более простой и лучший способ сделать что-то, чем первый способ, который приходит тебе в голову.

Любые неточности в этом индексе могут быть объяснены тем фактом, что он был подготовлен с помощью компьютера.

Понимая машинно-ориентированный язык, программист будет стремиться использовать гораздо более эффективный метод; он намного ближе к реальности.

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

Компьютеры хорошо умеют следовать инструкциям, но не умеют читать.

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

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

За его основной вклад в анализ алгоритмов и разработку языков программирования, и в частности за его вклад в" искусство компьютерного программирования "через его известные книги в непрерывной серии под этим названием.

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

Я не могу быть настолько уверенным в компьютерных науках, как в биологии. У биологии легко есть 500 лет захватывающих проблем, над которыми нужно работать. Это на этом уровне.

Я не могу пойти в ресторан и заказать еду, потому что я постоянно смотрю на шрифты в меню.

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

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

Я определяю UNIX как 30 определений регулярных выражений, живущих под одной крышей.

Если вы обнаружите, что вы тратите почти все свое время на теорию, начните обращать внимание на практические вещи; это улучшит ваши теории. Если вы обнаружите, что вы тратите почти все свое время на практику, начните обращать внимание к теоретическим вещам; это улучшит вашу практику.

Если вы все оптимизируете, вы всегда будете несчастны.

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

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

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

Я помню, что математики говорили мне в 1960-х годах, что они признают информатику зрелой дисциплиной, когда в ней было 1000 глубоких алгоритмов. Я думаю, что мы, вероятно, достигли 500.

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

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

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

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

Мета-дизайн намного сложнее, чем дизайн; нарисовать что-то легче, чем объяснить, как это нарисовать.

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

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

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

... Возможно, один из самых важных уроков - это то, что ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ТРУДНО Отныне я буду уважать каждый успешный программный инструмент, с которым сталкиваюсь. В течение последнего десятилетия я был удивлен, узнав, что написание программ для TeX и Metafont оказалось намного сложнее, чем все другие вещи, которые я делал (например, доказательство теорем или написание книг). Создание хорошего программного обеспечения требует значительно более высокого стандарта точности, чем те, что делают другие, и требует более продолжительного внимания, чем другие интеллектуальные задачи.

Люди думают, что информатика - это искусство гениев, но действительная реальность противоположна, просто многие люди делают то, что строится друг на друге, как стена из мини-камней.

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

Преждевременная оптимизация - корень зла.

Программисты тратят огромное количество времени на размышления или беспокойство по поводу скорости некритических частей своих программ, и эти попытки повышения эффективности на самом деле оказывают сильное негативное влияние при рассмотрении вопросов отладки и обслуживания. Мы должны забыть о малой эффективности, скажем, в 97% случаев: преждевременная оптимизация - корень всего зла. Тем не менее, мы не должны упускать наши возможности в этих критических 3%.

Программирование является законным и необходимым академическим усилием.

Программирование - это искусство рассказывать другому человеку, чего хочет компьютер.

Программы предназначены для чтения людьми и только для компьютеров.

Наука - это то, что мы понимаем достаточно хорошо, чтобы объяснить компьютеру. Искусство - это все, что мы делаем.

TeX обнаружил по крайней мере одну ошибку в каждом компиляторе Pascal, на которой он работал, я думаю, и по крайней мере две в каждом компиляторе C.

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

Лучшая теория вдохновлена практикой.

Книга Ричарда Беллмана «Динамическое программирование» - это важная новаторская работа, в которой в конце некоторых глав под заголовком «Упражнения и проблемы исследования» собрана группа проблем, причем чрезвычайно простые вопросы возникают в глубине, нерешенные проблемы. Ходят слухи, что кто-то однажды спросил доктора Беллмана, как отличить упражнения от проблем исследования, и он ответил: «Если вы можете решить это, это упражнение; в противном случае это проблема исследования»

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

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

[Евклидов алгоритм] является дедушкой всех алгоритмов, потому что это самый старый нетривиальный алгоритм, который сохранился до наших дней.

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

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

Руководства, которые мы получили от IBM, будут показывать примеры программ, и я знал, что смогу сделать намного лучше, чем это. Поэтому я подумал, что у меня может быть талант.

Самое важное на кухне - корзина для бумаг, и она должна находиться в центре.

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

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

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

У этих машин нет здравого смысла; они еще не научились «думать» и делают именно так, как им говорят, не больше и не меньше. Этот факт сложнее всего понять, когда кто-то впервые пытается использовать компьютер.

В долгосрочной перспективе солнце всходит примерно так же часто, как и садится, но это не делает его движение случайным.

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

Деревья растут почти везде в компьютерной науке.

Мы должны постоянно стремиться превратить каждое искусство в науку: в процессе мы продвигаем искусство.

Мы должны забыть о малой эффективности, скажем, в 97% случаев: преждевременная оптимизация - корень всего зла.

Мы должны забыть о малой эффективности, скажем, в 97% случаев: преждевременная оптимизация - корень всего зла. Однако мы не должны упускать наши возможности в эти критические 3%

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


Источник: vk.com

Комментарии: