Если кто не знает, этот дядя написал монографию "Искусство программирования для ЭВМ" и вообще один из Отцов стоявших у истоков серьезного математического программирования.
Крут велик, но учебник «Искусство программирования» никакой, это скорее поваренная книга и справочник, да и то кнутовская низкоуровневая императивщина не всем по вкусу и не всякому нужна. И если уж браться за эту книгу, то надо параллельно и SICP читать вместе с разными букварями по лямбда-исчислению, чтоб не возникало быдлокодерской однобокости мышления.
Кнут учит прежде всего низкоуровневой императивщине. Без хорошего противовеса, типа SICP, который учит высокоуровневой функциональщине, эти знания в современном мире малополезны.
> Без понимания того, чему учит Кнут, ты едва ли сможешь придумывать хотя бы более менее оптимальные алгоритмы. То есть твои программы будут медленные.
А без понимания принципов высокоуровневого программирования твои программы вообще не будут написаны. Сейчас не 60-е, и сложность 99% программистских задач заключается отнюдь не в низкоуровневом жонглировании битами.
Как показывает жизнь, таки сложно. Люди так и продолжают мыслить байтами и битами, не в состоянии перейти к более человеческим понятиям.
> Я вовсе не утверждаю, что Кнутом свои познания следует ограничить, но знать это надо.
И прорешивать все 4 тома, на MIX-е? Тебе после такого не в программисты дорога, а прямо на дурдом, цветочки вырезать из занавесочек. В отличие от SICP-а, TAOCP для тотального прорешивания вообще не годится. Его надо прочитать бегло, с прорешиванием только тех задач, которые покажутся интересными, а потом убрать на книжную полку и раз в год пользоваться им как справочником по алгоритмам.