Цитата:
для большинства задач программирования и не нужно знать всего, о чем он абстрактно рассуждает
Большинство знаний, полученных в школе - не используется в жизни. Закрываем школы, народ сразу учим метлу-лопату в руках держать и на какие кнопки на станке нажимать?
Цитата:
зачем рекомендовать Кнута новичкам?
Затем, что он учит некоторым аспектам программирования, а не языку программирования. Одно без другого бесполезно. Язык - это средство выражения мыслей. Если мыслей нету, язык не поможет, даже поностью вызубренный.