LINUX.ORG.RU

Профессору Дональду Кнуту исполняется 81 год

 ,


4

2

Сегодня, 10 января 2019 года, американский ученый в области информатики и математики профессор Дональд Эрвин Кнут отмечает свое 81-летие.

Дональд Кнут – профессор нескольких университетов в разных странах, преподаватель и идеолог программирования, автор большого числа монографий и статей. Он известен как автор многотомного неоконченного издания «Искусство программирования», а также разработчик систем TeX и METAFONT.

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

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

Несмотря на почтенный возраст, Дональд Кнут продолжает свою профессиональную деятельность и в 2016 году был удостоен награды «Лекция Джона фон Неймана»

>>> Персональная страница Д. Кнута

★★★★

Проверено: Shaman007 ()

Реквестирую новости про дни рождения Тьюринга, Дейкстры и всех сотрудников Bell Labs. Ну и Киану Ривза, Хью Джекмана и Рами Малека заодним. Можно ещё постить новости типа «прошел ещё один год с момента увольнения Стива Балмера, главного врага опенсорса».

WitcherGeralt ()

За найденные в TeX ошибки автор выплачивал солидное вознаграждение...

Кнут действительно крут! 2.56$ за тестинг и фикс баги... Даже самые жлобские галеры платят джунам почасовку больше )))

Linfan ★★★★★ ()

Что-то не кажется мне что он достоин новости. Искусство программирования - 4 тома даже не воды, а вакуума, где больше несуществующeго язычка для несуществующей машины, нужного только GNU чтобы сделать вид что они хоть что-то работающее могут написать написать, чем собственно программирования. Про наркоманский TeX даже говорить не буду. А помимо этого вклада солнцеликого - полторы писульки.

Фу, типичное раболепство перед старпёрами.

slovazap ★★★★★ ()

грамотного программирования

Серьезно? Ты перевел это как «грамотное программирование»? И ничего не перевернуло внутри когда писал?

PS Кнута поздравляю, долгих лет и всего такого

anonymous ()
Ответ на: комментарий от slovazap

Да пофиг на книги и тех. Они появились как побочный продукт, а он прежде всего ученый, внесший солидный вклад в теорию алгоритмов и сообще CS. В ОП всё перевернуто с ног на голову.

anonymous ()

Сколько уже лет теху, а так никто ничего лучше и не придумал!

Что бы мы без дядьки Кнута делали? Очень хорошо, что он решил когда-то написать совершенно бесполезный труд (я про «искусство программирования»), благодаря которому родился ТеХ!

anonymous ()
Ответ на: комментарий от Linfan

Ты реально тупой или стебешься?

Если первое, то объясню: каждый следующий баг оплачивается вдвойне! Вспомни (если, конечно, знаешь) басню о падишахе и шахматах, когда на каждую следующую клетку надо было в 2 раза больше зернышек насыпать. А начиналось все с 1 зерна!

$2.56 говорит лишь о крутости Кнута!

anonymous ()
Ответ на: комментарий от slovazap

Про наркоманский TeX даже говорить не буду.

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

Спасибо дедушке профессору за TeX, про математику же ничего не скажу, т.к. не был обучен ей и ее не осилил...

2 * 2 = 4

RedEyedMan4 ★★★★★ ()

Он известен как автор многотомного неоконченного издания «Искусство программирования»

Мне интересно, закончит ли он ее вообще (на сколько я понял он в девяностых все бросил, типа собирался плотно заняться книгой, и говорил про 20 лет, сейчас по факту готова только третья часть).

разработчик систем TeX

Использовал его (точнее, LaTeX и куча костылей сверху, сам TeX вообще для инопланетян) в вузе, так и не понял почему все считают это каким-то очередным чудом Света - может на момент выхода это и было что-то крутое, в чем его ценность сейчас я понять не могу (да, я знаю что его "везде используют").

Примечательно, что исходные тексты системы TeX были изданы в печатном виде

Нафига?

Почему это не мини-новость?!?

micronekodesu ()
Последнее исправление: micronekodesu (всего исправлений: 1)
Ответ на: комментарий от anonymous

Анон-падишах, ты кажись зернышек обсчитался ))) Подавляющее число багов переловили в первый год по $2.56. Дальше были единичные случаи. Кнут просто набрал бесплатных тестеровщиков монетизируя свое имя. Не читай сказок на ночь - козленочком станешь ;)

Linfan ★★★★★ ()
Ответ на: комментарий от Shaman007

Двойка - священное число.

Во втором томе «Искусство программирования» товарищ Кнут рассказывая про позиционные системы счисления называет «возможно самой изящной из всех» троичную систему.
Так вот в троичной 81 - выглядит как 10000. )

Toxo1 ()
Ответ на: комментарий от anonymous

Серьезно? Ты перевел это как «грамотное программирование»? И ничего не перевернуло внутри когда писал?

почему должно перевернуть, если автор его сам так назвал?

интервью (c) Donald Knuth

I called this style of programming «Literate programming» in hope it would be shame to every normal programmer to consider himself illiterate

anonymous ()
Ответ на: комментарий от anonymous

+1. книги вообще интересны как демонстрация подхода literate programming, что TeX the program, что «MMIXware: A RISC Computer for the Third Millennium»

что именно в таком подходе написать — дело десятое. мне вот книга про Physically Based Rendering нравится.

хотя вообще в TAOCP хорошее объяснение сложности алгоритмов, про «о малое» и «О большое»

anonymous ()
Ответ на: комментарий от RedEyedMan4

ну мне например больше «функциональный» язык разметки типа lout нравится, чем «императивный» tex-овский, или вообще skribilo на S-выражениях с произвольными AST макросами.

вот, например читаю книжку Н. Н. Непейвода, И.Н. Скопин «Основания программирования» про неимперативные парадигмы, например сентенциональное. или того же Броуди THINKING FORTH (забавно, что хотя и форт, но там вполне себе про структурное программирование, и даже в какой-то мере объектное, но проектирование не сверху вниз, а инкрементальное итеративное многоуровневое наискосок по диагонали и в другие стороны)

ну то есть, структурный подход из структурного анализа навязал паскалеподобную (или лучше модулоподобную, компонентную обероноподобную) парадигму в программировании и декомпозицию сверху вниз и Stepwise refinement в проектировании.

хотя и другие парадигмы вполне себе могут применяться для тех же целей, не только программирование но и оттуда идеи в проектирование. например, тот же Непейвода где-то приводил программу составления расписания на прологе в 10 строчек.

в итоге это самое сентециональное метасистемное в смысле В. Ф. Турчина про метасистемный переход — это и есть literate programming, освобождённый от императивной парадигмы.

а что tex-, что web-подобные языки разметки пока избыточно императивны и недостаточно декларативны/сентенциональны. вот например, матрицу трассировки по модели трассировки в literate programming стиле хочу строить автоматически по атрибутам chunks в literate programming. так сложно же задавать их на классическом web-подобном, скорее какие-то метациклические атрибуты атрибутов атрибутов нужны. тут что-то типа Skribilo на AST макросах или того же org-mode babel, но уже более произвольно расширяемого лучше подходит.

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

Спасибо дедушке профессору за TeX, про математику же ничего не скажу, т.к. не был обучен ей и ее не осилил..

метаматематику :)

скорее «Конкретную математику» от профессора и что-то типа «Оснований программирования» читать нужно :)

anonymous ()
Ответ на: комментарий от micronekodesu

(точнее, LaTeX и куча костылей сверху, сам TeX вообще для инопланетян)

не, я видел нормальную китайскую сборку именно на plain tex с пофикшеным юникодом, многобайтными кодировками и прочее... сам движок там компактнее, не нужно «тяжёлый» (LOL) дистрибутив LaTeX тянуть. и теоретически перспективно сделать без кучи костылей.

практически тот же latex или luatex чуть более полезен, конечно же :)

anonymous ()

Говорят, живет на свете Дональд Кнут.
Доктор Кнут, поверьте, дети, страшно крут.
И неважно что он пишет не о том,
Главное, чтоб все же вышел пятый том

© Витус Вагнер по-моему, хотя скорее-всего ошибаюсь.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 2)
Ответ на: комментарий от mv

«Да лана». Те, кто смог получить этот чек тут же закатывают его в ламинат, кладут в рамочку и вешают на стенку, добавляя себе 100500 ЧСВ.

Evgueni ★★★★★ ()
Последнее исправление: Evgueni (всего исправлений: 1)
Ответ на: комментарий от micronekodesu

Нафига?

Почему это не мини-новость?!?

этим breaking news сто лет в обед. посмотри в исходниках дистрибутива tex-а «Tex the Program and the Book» в папке с документацией. там книга 1982 года, ЕМНИП, написанная в literate programming стиле. про MMIX изначальный тоже такое же было.

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

Броуди в THINKING FORTH тоже вот пишет, что IDEF3 DFD и прочее вполне разумнее было бы не руками рисовать, а из декларативного описания в пару строчек + ещё десятка строк на форте генерировать.

например, книга Креншоу «Let's write a compiler» про то, как написать диалект паскаля была на форт переписана. получилось компактнее и нагляднее, местами, чем в оригинале. но дальше описано словами, а через literate programming можно было бы получить исполняемое компилируемое описание.

то есть, это не только про программирование это ещё и про проектирование и образ мышления.

вот, Броуди опять из THINKING FORTH навеяло, про сравнение деревьев и таблиц решений: это всё (таблицы решений) можно записать матрицами, тогда анализ это будет декомпозиция этой матрицы в произведение матриц (функциональных операторов анализа) «сверху вниз», а синтез будет композиция «снизу вверх» (прямая сумма) таких произведений.

то есть, процессы разработки и проектирования можно описать не только «алгеброй программ», но и тензорное исчисление таблиц решений. а свёртка таблиц что-то типа произведения тензоров, а транспонирование тензоров или замена произведением тензоров другого порядка сохраняя какие-то инварианты произведения — дополнительный анализ-синтез по другим критериям и процессам, других рисков/критериев/решений/процессов.

и императивную операторную схему «алгебры программ» можно описать эквивалентной алгеброй каких-то тензоров матриц трассировки таблиц решений, из которых и синтезировать императивщину.

ну как-то так.

другое дело, что читая про императивный в реализации, но декларативный/сентенциональный по сути подход literate programming из книг основателя это не видно.

а читая что того же Броуди THINKING FORTH, что Непейводу «Основания программирования» — то место где рядом сравниваются decision trees и decision tables, с недостатками первых, что lout как язык разметки, рядом с tex/latex как язык разметки (ну собсно сам plain tex избыточно императивный, что и пытались пофиксить в latex, но в lout ещё апликабельнее выходит) — это видно наглядно.

anonymous ()
Ответ на: комментарий от beck

Что интересно, одним из своих учителей Кнут называл Ершова.

там вообще было интересное перекрёстное опыление идей.

про Ершова лексикон программирования как вторая грамотность (после Кнута? но про структурное программирование до Кнута) и Колмогорова и теорию сложности алгоритмов. про того же Мура с фортом или про Брусенцова с троичной Сетунью-72, постфиксной формой записи, и ДССП. «Мур посещал обсерватории, знал основные работы и направления. Много машин Сетунь тогда было в обсерваториях». Хотя Мур конечно практик, а ДССП более учебное. такой вот форт как образ мышления того что Непейвода называет «система программирования», идеи-то сходные у всех на слуху были. реализация и практики вот немного другие.

anonymous ()
Ответ на: комментарий от anonymous

а из декларативного описания в пару строчек + ещё десятка строк на форте генерировать

Ну тащемта, для UML я нашёл plantuml, и для BNF есть пакет для TeX, а вот с другими типами диаграмм в универе страдал; оно всё, как правило, рисуется только кривым допотопным мышевозным виндузяным софтом. Собственно, это вполне объясняет, почему нынешние погроммизды не любят рисовать диаграммы в принципе; это на порядок больше мороки, чем просто написать код, а результат по наглядности (но только для программиста!) получается одинаковым.

Moondancer ()