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

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

Жду четвертую часть.
А что её ждать? Она уже давно вышла.
Не собираюсь — хотя читал выборочно некоторое.
А время потратил на прочтение книг по проектированию, эффективной разработке, — пригодится мне больше. Как и многим ;)
Собственно, по этому поводу и опрос. Всем она известна, все говорят, что это книга «маст рид», у большинства есть либо печатная, либо электронная версия, но, как ни странно, прочли ее единицы, в лучшем случае выборочно :)
Все зависит от специлизации. В геймдеве ее читали подавляющее большенство с кем мне приходилось работать.

Я не могу сказать что книга целиком необходимо прочитать, но если вам приходиться реализовывать различные алгоритмы, то ее лучше иметь. Да и вообще полезно.

Но опрос из серии нужно ли знать теорию графов программисту. Где-то это must have, где-то просто приятный плюс, а где-то лишняя информация.
Теория графов это интересно, как минимум, но!.. Но практическое применение можно увидеть довольно редко (к сожалению или к радости решать каждому). Кнут это must have однозначно, читать или нет, решайте сами…
Теория графов еще как нужна!
смотря в какой области, знаете ли.
Да, помогла при построении ИИ, предсказание будущего на основе накопленного опыта (интуиция).
Моё мнение, что более лёгкие и от того не менее полные книги по алгоритмам, к примеру книги Сэджвика или Introduction to Algorithms Кормена и ко.
да мне тоже книга Кормена нравится, ее читал, когда-то на учебе, на полочке до сих пор стоит. а Кнута всегда хотел купить, но так и не решался, мне сортировки больше интересуют, чем другие тома. все читать как мне кажется не надо
Потому-что она про «магию» сложных алгоритмов, которыми сейчас мало кто занимается. Бизнесу преимущественно нужны клиенты к БД, да веб-морды — а для этого хватает сакрального знания о том, что массив можно отсортировать при помощи Collections.sort(...)
А с алгоритмами приходится работать преимущественно в игровой индустрии да в телекоммуникациях.
Да, согласен. Сейчас мало кому необходимо разбираться в сложных алгоритмах, потому что уже есть готовые решения в виде функций/классов/библиотек/фреймворков для рутинных задач, которые их от нас прячут. Просто некоторым все таки интересно разобраться в происходящем. Собственно вопрос и показал, что книгу не прочло даже 10% программистов и я в их числе, так как читал выборочно.
Не читал и пока не собираюсь. Слишком уж глубокие дебри. Может быть дорасту когда до этих книг.
А пока добрался да Макконнела («Совершенный код»), Фаулера («Рефакторинг») и Гаммы («Приёмы ОО проектирования и программирования. Паттерны проектирования»). Тоже ничего так книги.
С одной стороны, я тоже не собираюсь — ныне куда важнее знать общие характеристики алгоритмов и знать, что заюзать, чем уметь это реализовать с нуля (да и описания куда более доступные есть, без матана). С другой, в крайности впадать нельзя… у меня на собеседовании был человек, который знал стопицот паттернов, но не смог реализовать алгоритм угадывания числа от 1 до 100 (бинарный который, когда известно больше-меньше-равно). :)
Ну про крайности никто и не говорит )
А насчёт более доступных описаний наиболее известных алгоритмов можно ссылку? В институте информатика, можно сказать, отсутствует, а алгоритмы мне давно хотелось для общего развития изучить.
А как вы определи что он паттернов столько знал — с его слов?
Последняя интересненько :)
вы путаете мягкое с теплым :) все эти три книжки очень полезны, и их обязательно нужно прочитать любому начинающему программисту, но они совсем про другое )
Да нет, я понимаю, что они совсем про другое. Я просто к тому, что сложные алгоритмы, особенно в примерах на ассемблере, при необходимости превосходно знать вышку, далеко не каждому программисту пригодятся. По крайней мере, лично для меня на данный это слишком глубоко, для многих других, полагаю, также.
Хотя всё равно придётся разбираться с алгоритмами, чтобы велосипеды не изобретать.
ну насчет вышки я прям не знаю. там в основном обычной дискретки хватает. по крайней мере никаких особых изысков я там вроде не встречал. конечно это не является исключительно необходимой информацией, но позволит лучше понять, что же вы собственно делаете, когда применяете те же стандартные фичи вашей среды.
А некоторые алгоритмы просто сами по себе замечательны, вроде кодов Хаффмена, или LZW.
нет-нет, рано или поздно все-таки стоит прочитать. :)
Я даже за Макконнела толком засесть не могу, слишком уж масштабен чтобы таскать с собой.
В ванной вечерком хорошо идет.
«Отправил резюме Биллу Гейтсу :)»
сори недопечатал (Ctrl + Enter = Написать)

Ответ пришёл? на работу взяли?
Нужен вариант, «начал читать и бросил» или «читал выборочно». Тут люди уже выше писали, что книги по проектировке сейчас для большинства программистов важней.
Если вам не нужно заниматься сложными алгоритмами то врядли эта книга понадобится. Плюс без хорошего понимания математики она будет нереально трудна для понимания. Поэтому книгу пока отдал знакомому, работающему в каком то НПП, он говорит, что нашел в ней полезные вещи))
Нас в колледже заставляли в принудительном порядке, мне это не помогло, стал дизайнером)
У меня настольная книга — Совершенный Код (Code Complete) Макконела.
Лежит на полке 3ий том.
Недавно купил трехтомник в рамках студенческой программы с большой скидкой. Немного разгребу дела по ходу семестра — и буду читать.
Значит так и останется лежать на полке ;)
До середины декабря как минимум, а там время появится :)
Правильного студента к середине декабря накрывает жопа :) На разных уровнях, разные цели (кому пять получить, кому не вылететь) но жопа решительно у всех)

ПС: глянул в профиль… правильного российского студента)
холиварная тема.
но я уже отмечался тут как ярый поклонник кнута, так-что не буду изменять традициям.
вопрос обращен к программистам, однако, слово программист почти утратило свой смысл, и означает нынче что-то типа «любой кто может поставить винду».
на этом ресурсе все конечно не так плохо, но давайте вспомним, сколько реально программистских топиков среди тех которые говорят как организовать время начальников-над-программистами, тех которые говорят как нарисовать поле ввода пароля в веб-форме, или тех что повествуют о новых дистрибутивах линукса?

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

поэтому, мне кажется, мало смысла спрашивать у веб-дизайнера или сисадмина о его отношении к кнуту.
«ярый поклонник кнута» пишет его имя с маленькой буквы ☺
Или вы имеете ввиду кнут, которым по спине бьют? ☺
человек не изучивший (изучающий) теорию графов не является программистом?
кодер :)
уж не знаю, обижу ли я этим кого-то, но как-бы да.
ибо графы это 99% структур данных.
и даже работу кодера без их понимания мне представить трудно.
(по крайней мере на бытовом уровне типа квадратиков и стрелочек)
Пытался, но уперся в математику =(

Тем, у кого такая же ситуация, советую Кормена.

У меня есть Гугл.
Не читал и, честно говоря, стыдно. :(
Тк многие темы Кнута пересекаются с универской программой читал выборочно, чтобы читать и понимать(!) дедушку Дональда нужно знать математику.
некорректно задавать такие вопросы на сайте, где 70% программистов занимаются веб-девом.
Я тоже занимаюсь вебдевом. Когда мне однажды потребовалось придумать довольно сложный алгоритм, оказалось, что Кнут его описал и реализовал 30 лет назад :)
И на самом деле, если выходить за рамки написания очередного стартапа по обмену/продаже велосипедов/билетов/инвайтов/упячек/whatever, то алгоритмы в вебдеве очень даже нужны.
А что за алгоритм?
Сейчас точно не вспомню, но что-то аналогичное Левенштейну.
Читал выборочно те главы, которые нужны были в тот момент.
Почитываю потихоньку, но такие книги просто не получается читать «запоем».
Книга Кнута — это очень серьёзная, фундаментальная книга.
Это не та книга, которую можно почитать перед сном.
Вот у Буча, например, хотя бы кошки в иллюстрациях, хотя тоже нужно иметь особый склад ума, чтобы понимать его идеи на столь высоком уровне абстракции.
А я читаю «Конкретную математику» Кнута перед сном, очень даже неплохо помогает расслабиться :)
Пытался, забросил :))
Сейчас в основном читаю книги про проектирование программ и ООП.
По моему опыту 2-3 тома полезны если требуется подбор/подгонка замороченных алгоритмов, как минимум в качестве справочника.
у нас на факултете первые три курса были по тому в год обучение.
Почему нет варианта «Не программист, но читал»? :)
первые 3 тома прочитал с большим интересом много лет назад. А остальные 4 ни разу и не видел. Может он их и не написал даже.

Там много спорных решений в изложении материала — (например все примеры на «первом в мире полиненасыщенном ассемблере — MIX»), но вообще я считаю, что эти тома стоят того, чтобы быть прочитанными.

Мой любимый том — «Сортировка и поиск»
Я бы может и прочитал бы, но там магнитные барабаны и MIX.
общество сменись! социум апгрейдься!

программист не должен обязательно знать все алгоритмы, :) а сам да читал, потому что это мое.
на самом деле это(алгоритмистика) уже вырастает в отдельную специализацию, ровно как UI/Web development, server side development, etc(кого забыл не обижаться). Думаю еще не так давно появились гуру DBA, выросшие из тех же программистов…

мир все глубже специализируется, а Кнут, Вирт, и прочие — апостолы видимо… просто как в христианстве множество течений, так и в программировании все теперь делиться — людей много, поэтому нужно их делить… со-о-оциум апгрейдься :)
автор, по результатам комментариев можно написать хорошую статью о состоянии дел в современном программировании :)
действительно непонятно, вот если человек не знает как к примеру работает быстрая сортировка, или как организован его любимый Dictionary<TKey, TValue>, или что такое B-деревья, которые вроде до сих пор юзаются для индексов в БД — это нормально или не очень? честно говоря так сразу затруднительно ответить. хотя знать всегда лучше чем не знать.
А зачем усложнять? Если человеку и его работадателю/коллегам/друзьям/… не мешает отсутствие указанных вами знаний, то это нормально.
В общем-то само название книги Кнута говорит нам о том, что она, в первую очередь, нужна тем, кто считает программирования искусством, а это сегодня явно не 100% программистов.
Всем судентам, считаю, ее нужно читать. Например, на парах по истории религий или философии какой-нибудь :)

Потому что потом может не быть времени, а книгу все таки желательно прочитать, либо хотя бы просмотреть, что тоже труд не тривиальный.
История религий ценнейший предмет, зря Вы так. Мой любимый на пятом курсе был)
Обидно. Моя девушка прочитала, а я еще нет =)
Занимаюсь программированием ПЛИС и микроконтроллеров AVR. Хочу прочитать для общего развития.
Кто читал, посоветуйте, стоит ли?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории