Как стать автором
Обновить

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

Молодой Кнутт очень на Шелдона похож.
Скорее на Дуайта из «Оффиса».
Заголовок спойлера
НЛО прилетело и опубликовало эту надпись здесь
А вот смысл? Даже если прочтёте, разве все поймёте, а если поймёте, то запомните? Не самое легкое чтение, как я думаю. А если рассматривать как справочный материал, то достаточно держать под рукой и обращаться при необходимости. А прочитать ради прочитать — это как кандидатскую написать ради корочки и галочки, имхо…
А вот смысл?

Ну, тут уместно Кнута же и процитировать: «Главной целью, вероятно, всегда было удовольствие». Для удовольствия прочитать, не для смысла.


Даже если прочтёте, разве все поймёте

Да, ладно! Там, конечно, "матан", но не такой уж и "рокет сайнс". Я Кнута в школе начинал читать. Школьных знаний для большинтва тем вполне достаточно.


А прочитать ради прочитать — это как кандидатскую написать ради корочки и галочки, имхо…

Неее. Это так же, как у самого Кнута — для удовлетворения перфекционизма.

Ну, у нас разные критерии «удовольствия»))
Сколько раз можно произнести «Да вы, ребята, идиоты», пока открывается страница gmail.com?
4 до конца загрузки :)

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

Статья про Кнута для твоей бабушки, но на айтишном ресурсе.

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

Соответственно, концепция Кнута переводится как «грамотное программирование» а не как «литературное».

Заодно, хотелось бы видеть грамотных переводчиков.
Среди программистов уже закрепился перевод «литературное прграммирование».
ИМХО, «литературное программирование» — это оксюморон. Вроде «живого трупа». А программисты и Кнута-то не читали, в подавляющем большинстве. Когда-то давно среди переводчиков закрепился перевод «библиотеки динамической связи». И ничего, перезакрепили.
Борьба за чистоту языка — дело святое. Посмотрим, на сколько оно будет успешное.
Вы знаете, мне очень неловко, но я наступил на свои любимые грабли — высказался о термине, значения которого не знал. Скорее это была экстраполяция дурных переводов, которые я видел, но ведь Кнута переводили при СССР, а там переводили качественно. Я посмотрел, что означает термин, и действительно «Литературное программирование» подходит лучше всего… Ещё можно это назвать «Образовательное программирование» или «Объясняющее программирование», но никак не грамотное… Более того, это именно то, что я обычно делаю в своем коде. Недавно даже мысль была, мол, жаль в комменты в коде нельзя вставлять картинки и даже анимацию, для пояснений… Народ даже ругается, говорят, много комментариев. Вот такой вот анекдот у меня вышел… Я был неправ.
русская википедия несогласна с вами ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B0%D0%BC%D0%BE%D1%82%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

А английский на уровне чуть выше «читаю по буквам как написано» программисту очень полезен.
Первая же ссылка от туда ведет на литературное программирование.
Я не уверен, что википедию можно считать эталоном практики современного языка.
Я так понимаю, что illiterate вы будете переводить как «нелитературный»?
В каком контексте?
Первый том вышел в 1968 году

А в 1971 году я поступил в Военную Академию им. Ф.Э.Дзержинского (как она там сейчас в Балашихе страшно подумать) на второй факультет на кафкдру программирования. Это был всего второй набор по специальности "Программирование". А какие глыбы нас учили: Шура-Бура, В.Н. Захаров, В.Н. Лебедев, Ю.Н. Патрикеев, А.П. Соколов, В.Д. Цальп и многие многие другие. Математику преподавали Демидович, теоретическую механику Тарг, Вентцель и т.д.
А настольной книгой у нас было "Искусство программирования" Кнута, чуть позже Риччи, Карниган и Томпсон, Кодд.
Да, много чего хорошего навеяла эта статья. Да, учили нас фундаментально, и книги были фундаментальные. Спасибо.

чуть позже Риччи, Карниган


Позже, после Кнута?

Как нестранно — да. Самое начало 70-х годов, отечетвенные ЭВМ М-220, Весна, СПЭМ, алгол, фортран, ближе к середине ИВМ, ЕС ЭВМ, засилье PL/1. Ни о каком C не моги и думать. А его никто и не знал.

А про лисп и школу Маккарти было что-нибудь? Или это шло по разряду «кибернетика — лженаука»?

И про ЛИСП было и многое чего другое.


Или это шло по разряду «кибернетика — лженаука»?

А это что за чушь? Вы хоть знаете когда это было! А в 60-70-е года с кибернетикой все было хорошо, тем более у нас в Дзержинке!

Или это шло по разряду «кибернетика — лженаука»?

Её в СССР вполне себе развивали, начиная с 40-х годов. Если я правильно прочитал хронологию — в опале она была всего год — 1954-1955. Подозреваю скорее это были какие-то интриги в академии наук.
Автобиографическую книгу Винера «Я — математик» в Союзе перевели и издали, и она очень хорошо, как говорит современная молодежь, «зашла», даже в полусознательном старшем школьном возрасте. Но терки с Академией Наук там были какие-то у них (специалисты-историки наверное могут сказать детальнее)
Эта книга и сейчас также шикарна и хороша, стараюсь перечитывать раз в несколько лет.
После таких статей хочется то ли поплакать как девушка над мелодрамой, то ли вспомнить что много алгоритмов, которые изобрел Кнут, сейчас не к чему применить, вроде оптимальной сортировки данных, записанных на магнитных лентах. Или там, что сейчас у процессора есть аж три (вроде бы) уровня кэша, а тогда ни одного не было, и соваться в память тогда значило то же, что сейчас соваться в кэш, а сейчас это уже разные вещи. А соваться в GMail, которое загружается по 18 секунд, это тоже разные вещи, но уже другие.
То есть учитель Йода и джедай, конечно, но вот реалии 21-го века настали.
… много алгоритмов, которые изобрел Кнут, сейчас не к чему применить, вроде оптимальной сортировки данных, записанных на магнитных лентах.

Просто оставлю это здесь: habr.com/post/422851
Вам придется вспомнить про «оптимальную сортировку данных, записанных на магнитных лентах», когда у вас данных будет сильно больше, чем имеющихся ресурсов в виде cpu, io, ram.
И дело даже в деньгах.
IoT, как бы, идет в массы.
Тут нельзя не согласиться. На небольших задачах часто хватает стандартных решений и библиотек, но когда приходится столкнуться с чем-то сложнее, то алгоритмы лучше знать, чем не знать. Решение задач на Project Euler, кстати, позволяет этот момент хорошо почувствовать на себе.
Что полезного я узнавал прочитав эту статью? Очередной мусор на хабре.
Главный недостаток его книг — занудство и высокий порог входа. Я вот кодингом увлекался с детства, и мне посоветовали Кнута почитать… Ну что сказать, мутота. Книга для людей с математическим образованием. Отдельные лучи поноса за предложение доказать великую теорему Ферма. Я, блин, ее несколько недель доказывал, задание же, потом бросил на хрен эту книгу. Откуда было знать студенту первого курса, да еще и не математику и не программисту, что ее нереально обычному человеку доказать. Зачем нужно вводить какую-то машину, на которой будут выполняться все примеры в книге? Реальных машин мало? Вся эта попытка построить строгую теорию программирования мало кому нужна, т.к. программеры в первую очередь практики, а не теоретики. Да, возможно, сейчас, имея образование и опыт (в первую очередь жизненный опыт пропускать мимо ушей всякую чепуху), я бы осилил этот труд.
К примеру, «Алгоритмы. Построение и анализ» Кормена мне гораздо лучше подошли. Или Седжвик с его «Фундаментальными алгоритмами на C++». Недаром именно эти две книги считаются стандартом при обучении программированию.
Заминусуют — ну и плевать.
На первом курсе было бы неплохо уже уметь читать описание критериев, по которым каждое задание было оценено в баллах сложности
Ага, там это была задача на 5 со звездочкой )
Моя память говорит что было 50 баллов. Я если честно, больше 20-25 даже не пытался решать) ну и да, я даже первый том не осилил (бросил может где-то на трети или четверти, не помню). Не стыжусь и не жалею.
И там даже ответ был, (я сразу же побежал смотреть) как и вопрос, с подковыркой.

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

>>> Отдельные лучи поноса за предложение доказать великую теорему Ферма. Я, блин, ее несколько недель доказывал, задание же, потом бросил на хрен эту книгу.

Так Кнутт ещё и тролль 80-го уровня, оказывается :)

100-го уровня. До 91-93 г. задача доказательства теоремы Ферма у Кнутта имела уровень сложности 50, а в современных изданиях уже 49 :)

Наверное потому, что она была доказана в 1994-м году, доказательство опубликовано в 1995-м.
Прекрасная статья, Спасибо!)
ps есть в «аналоге» третий томик :)
Если бы знал раньше вот этого бы «жизненного» о легендарной личности, то томик бы точно был "на алтаре" уже :))) pss и про TeX только узнал, ну надо же!)
Это не Йода, это Бильбо
А ему-то зачем её читать?
Если я прочёл книгу по компиляторам (книга красного дракона) и алгоритмы Седжвика, имеет ли смысл читать Кнута или в ней уже не будет принципиально нового для меня? Всё не решался в своё время, читал другие источники.
Кнут намного ближе к железу, чем «алгоритмы», если Вам это интересно, то имеет смысл.
ИМХО, не имеет. Но никто Вам не мешает попробовать. Просто если чтение не пойдёт — не отчаивайтесь, эта книга не всем подходит. У профессиональных математиков свой образ мышления, с отзвуками аксиоматических теорий, проходящих проверку логическим анализом и вот этим всем. Поэтому в книге будет много лишнего и неочевидного, представляющего эстетическую ценность для математика и неудобство для кодера-практика. Лучше какой-нибудь справочник по алгоритмам годный почитать, где будут те же алгоритмы, но без теоретической воды.
Есть мнение что нужно быть математиком и уже нехило так разбираться в программировании чтобы осилить его книги, правда ли?
Смотря что вы понимаете под «осилить». Если «понять» — то там нет никакого сложного матана, все математические выкладки доступны даже любопытному пятикласснику.

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

Так что он ничем не рискует :) У меня, например, такой чек лежит — не бежать же его обналичивать? И так рассуждает каждый…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории