Дональд Кнут: как я занялся анализом алгоритмов и ради этого поехал в СССР (37,91,97/97)
— Дональд Кнут уговаривает Ершова организовать международный симпозиум

Осенью 1967 в Санта-Барбаре была конференция математиков, возможно, это был тот же год, когда я также побывал на конференции в Чапел-Хилле. Я встречал многих людей, которые стимулировали меня, и было множество интересных проблем, которые нам стоило обсудить друг с другом. Но когда я добрался до конференции в Санта-Барбаре, я понял, что это мой единственный шанс заняться исследованиями. Я не посещал лекции. Я просто сидел на берегу и писал свою статью об атрибутной грамматике прямо во время конференции. Но я посещал обеды. Я помню, как кто-то спросил меня, чем я занимаюсь и я решил побыть программистом, а не математиком в тот момент.
— Я думаю, я собираюсь стать программистом.
— О, так ты занимаешься численным анализом?
— Не совсем.
— Аааа, искусственный интеллект.
— Нет, и не искусственный интеллект.
— Тогда должно быть ты занимаешься языками программирования?
Дональд Кнут о первых шагах в программировании: Как я провел лето с компьютером, а не с девушками (19,20,21,22/97)

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

Я все еще работаю над «Искусством программирования», но я нашел время для работы над двумя крупными проектами. Над одним я работал в конце 80-х, а над другим в начале 90-х. Это были монографии.
Первый проект назывался «Аксиомы и оболочки», я изучал интересные проблемы в геометрии — выпуклой геометрии — и я продолжал работать над этим, пока я был в Сингапуре, выпуская в печать «3:16». Это была небольшая книга, около 100 страниц.
Затем я начал изучать случайные графы — удивительный феномен, когда происходит нечто вроде Большого Взрыва: начинаете с точек, которые ничем не соединены, затем выбираете 2 случайные точки и соединяете их, и так далее; как только вы перейдете количество соединений, около половины точек, неожиданно почти все точки всегда оказываются соединенными. Это называется «гигантской компонентой».
Как Дональд Кнут учился в школе и поступал в универ

Я окончил Лютеранскую Среднюю Школу в Милоуки (Milwaukee Lutheran High School,) в 1956. У нас не было преподавателей «мирового масштаба», но все они были заинтересованы в нашем образовании.
После, я продолжил обучение на математика, хотя она меня не сильно интересовала во время обучения в школе, потому что когда я пытался расспросить преподавателя, он не знал ответа. Я мог решить что-либо неправильно и учитель не замечал ошибки. Так зачем мне надо было идти на математика? Боле того, в то время я больше любил музыку и физику. Мой учитель физики и химии был великолепным человеком, который написал собственную книгу. Он сам разрабатывал ход экспериментов по химии тем самым восхищал меня. Он также заинтересовал меня физикой, несмотря на то, что я посвящал большую часть свободного времени музыке.
Классификация разработчиков по рангам боевых искусств
Как называют разработчиков
В своём блоге я взаимозаменяемо использую термины «программист», «кодер», «разработчик» и «инженер», чтобы избежать тавтологии. Тем не менее я считаю, что между этими словами и другими аналогичными есть некоторые различия.
В этой статье обсудим набор типичных существительных для обозначения человека, который пишет код. Я дам свою интерпретацию, как эти термины соотносятся с уровнем мастерства.
Толкование значений
Представленные здесь определения не являются официальными. Я не знаю каких-то формальных определений или принятого стандарта. Тем не менее, у многих людей есть твёрдое мнение по этому вопросу. Мое понимание каждого термина основано на 30 годах опыта в индустрии программного обеспечения, но я абсолютно готов к тому, что другие не согласятся с моей интерпретацией.
Дональд Кнут: «3:16» — книга про Библию (72,73,74/97)
«Я бы прочитал книгу теолога о программировании.»
— Дональд Кнут
На Youtube есть серия из коротких 97 роликов, где Дональд Кнут рассказывает про свою жизнь. Пару лет назад я начал публиковать самые интересные моменты, а вот сейчас решил продолжить знакомить читателей с образом мыслей и способом принятия решений «самого великого программиста всех времен и народов».

«3:16» — это книга, которая отличается от любой другой книги, которая когда-либо была написана. Я полагаю, что наконец-то созрел, чтобы написать такую книгу. Во всяком случае, 3:16 — это изучение Библии в другом ракурсе, не имеющее аналогов. Попробую пояснить.
Для ученых из области компьютерных наук естественно изучать сложные вещи, разбивая их на множество простых вещей и затем исследовать случайно выбранную часть. Таким образом, собирая несколько частей, они имеют представление в целом. Это похоже на опрос Гэллапа.
72
Взяв интервью у тысячи человек, вы знаете, что думают миллионы людей. Я использую выборку при исследовании документов. Если кто-то дает мне курсовую, и у меня нет времени, чтобы прочитать все 50 страниц курсовой работы, я буду выбирать случайную страницу и делать соответствующие выводы. Студент не знает заранее, какую страницу я собираюсь проверить. Таким образом, отбор проб это то, чем занимается компьютерный ученый.
Однажды, в 70-е, я задался вопросом, а что если я таким образом «исследую» Библию?
(Прим. переводчика: пожалуйста, комменты по вашим рекомендациям перевода присылайте в личку, статья лежала 2 года в черновиках, вот решил доделать Кнута, так что помогайте, дедушка крайне непросто говорит)
Дональд Кнут: «Старшие товарищи играли нами в теннис, мы были мячами. Они били по нам, было больно.» (11,12/97)
11. Управление баскетбольной командой

Как мне помнится, в том году впервые попробовали такое, и я точно не помню, как долго продолжали эксперимент, но назвали это Разделом Чести, и это означало, что 20 из нас просто будут вместе ходить на занятия, в то время как другие студенты будут посещать занятия вразнобой. Сомневаюсь, что другие студенты провели понедельник, вторник и среду так же, как мы. Кроме того, я думаю, что, возможно, нас напрягли немного больше, чем всех остальных студентов. Тем не менее, у меня было время на работу над школьной газетой и на вступление в братство, что в то время было одним из важных моментов, связанных с поступлением в Кейсовский университет. Большая часть всего интересного на кампусе была сосредоточена вокруг братства, и так что я, как первокурсник, тоже вступил в студенческое братство. Так вот, на первом курсе, весной вышла моя статья в Mad Magazine. Позже я стал редактором журнала, который мы основали в университете под названием «Обзоры техники и науки», в котором мы писали на разные научные темы. Я написал статью о системе Potrzebie для этого журнала.
Йода из Кремниевой долины
Дональд Кнут, мастер алгоритмов, размышляет над 50 годами работы над своим главным творением, книгой «Искусство программирования», которую не прекращает дополнять

Дональд Кнут в своём доме в Стэнфорде, Калифорния. Жуткий перфекционист, назначил награду за нахождение ошибки в своих книгах.
Уже полвека стэнфордский специалист по информатике Дональд Кнут, немного напоминающий Йоду – хотя ростом он 193 см и носит очки – занимает доминирующее положение духовного учителя в области алгоритмов.
Я получил от Кнута чек на 0x$3,00

Как видите, это не настоящий чек. Раньше Кнут отправлял реальные чеки, но прекратил в 2008 году из-за безудержного мошенничества. Теперь он рассылает «личные депозитные сертификаты» в банке Сан-Серрифф (BoSS). Он говорит, что готов выслать реальные деньги в случае необходимости, но, похоже, это слишком хлопотно.
Юбилейная лекция Дональда Кнута «У рождественской ёлки»

В течение четверти века великий стэнфордский почётный профессор проводит в декабре особую лекцию «У рождественской ёлки». Приближающийся к своим 82 годам Дональд Кнут снова провёл юбилейную 25-ю лекцию 5 декабря. Он напомнил аудитории, что по-прежнему усердно продолжает работать над книгой, которую пишет последние 57 лет.
Книга «Искусство программирования» в среде программистов считается одним из самых комплексных исследований алгоритмов. Согласно веб-сайту Стэнфордского университета, эту книга является одним из лучших научных трудов века. «Из-за моего насыщенного писательского графика мне приходится вести отшельническую жизнь», — пишет Кнут на своём личном сайте.
Поэтому вдвойне необычно увидеть этого великого человека вживую.
У нашего сайта есть собственная рождественская традиция: мы публикуем обзоры и скриншоты с последних лекций Кнута. В 2017 году я описал это как «встречу с любимым родственником на праздники» и «шанс увидеть вживую великий ум».
Лекция этого года не стала исключением.
Современный программист — ремесленник или мастер?

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

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

Было время, когда исследователи полагали, что распознавание речи на человеческом уровне может быть задачей «сложной для искусственного интеллекта» — и она могла бы обернуться провалом, даже на уровне ее постановки. Суть заключалась в том, что в разговорной речи было достаточно много двусмысленности, и единственный способ разобрать ее — понять, что имели в виду говорящие.
VPS хостинг в России