| imho.ws |
![]() |
|
|
|
# 1 |
|
Member
Регистрация: 19.10.2004
Сообщения: 394
![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Сразу хочу предупредить, что это не офтоп. Мне просто нужно прочитать мнения более опытных, нежели я программистов.
Дело вот в чём: покоится мирно у меня на книжных полках именитый трёхтомеик Кнута, и пользовался я им просто как справочником, находя нужную мне информацию или алгоритм. Но вскоре мне буквально все мои знакомые начали втирать, что я очень много потерял не прочитав эти книги. Что, мол, прочитав их, я добъюсь максимальной компактности и изящества кода. Я, признаться, ухи развесил и попробовал прочитать "Искусство программирования" максимально вникая в суть поставленых проблем... Где-то после двухста страниц я не выдержал и забросил чтение. Слишком уж много математематических терминов сваливается на голову при изучении материала. В общем, мне, как я уже говорил выше, нужен совет действительно опытных программистов, знакомых с писаниной Кнута: стоит ли мне её читать или это пустая трата времени? Действительно ли "Искусство программирование" так помогает, как об этом говорят? Заранее благодарен за ответы. |
|
|
|
|
# 2 |
|
Newbie
Регистрация: 24.09.2004
Сообщения: 42
![]() |
В большинстве задач прикладного программирования дословное знание Кнута не требуется. Свои плюсы, конечно, есть. Фишка в том, что Кнут - математик и занимается не программированием, а математикой и, в самом лучшем случае, построением алгоритмов решения конкретных задач. Вот он и строит (или описывает) алгоритмы пользуясь познаниями в тех или иных областях математики, доказывая их (алгоритмов) корректность и оптимальность.
Могут ли помочь такие познания программистам!? Как справочная литература, такое вполне возможно. Существует немало и других книг, в которых описываются алгоритмы и их построение. Я читал некоторые книги Кнута только из-за того, что я немного увлекался математикой и хотел развить свой мозг, а не из-за того, что в его книгах содержится масса советов для программистов. Чтение такой литературы развивает способности мышления и может пригодиться не только в областях, связанных с програмированием. |
|
|
|
|
# 3 |
|
Member
Регистрация: 23.02.2004
Адрес: http://twitterceleb.com/
Сообщения: 213
![]() |
Я тоже пользуюсь как справочником, но про алгоритмы сортировки прочитал от начала и до конца... так же как и про полезные структуры данных... очень полезная вещь, хотя еще полезней было бы если бы программы из книги были написанны на с++
__________________
twitterceleb.com |
|
|
|
|
# 5 |
|
Junior Member
Регистрация: 21.03.2004
Адрес: BC
Сообщения: 157
![]() ![]() ![]() ![]() |
Чтение Кнута - непростое, и, я бы сказал, не очень увлекательное задание.
Отличный справочник, особенно по алгоритмам сортировки. В идейном плане он меня совсем не вдохновил. Есть намного более увлекательные авторы (пишущие об искусстве и/или ремесле программирования)
|
|
|
|
|
# 8 |
|
Добрый фей-мод
Регистрация: 18.09.2002
Адрес: Израиль
Пол: Male
Сообщения: 4 155
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Я считаю, Кнут полезен для алгоритмиста, но не для программиста.
Кстати мой опыт показывает, что математики и алгоритмисты как правило плохие программисты и не в состоянии написать толковый код. Как пправило им нужна няня. И когда такой вот няней ставили меня, мне было очень тоскливо объяснять, что такое наследование классов. Сам я книги честно пытался прочесть, но очень быстро охладел - и ничего, где я не работаю, везде считаюсь толковым программистом. Вообще, я очень критично отнушусь к фразам типа: каждый программист должен прочесть ххх. Говорить так - все равно что говорить, что из А в Б только одна дорога. Но ведь это не так. Совершенствования в своей профессии можно достичь многими путями.
__________________
Фотолюбительщина Пока слова не сказаны - ничего нет. Но если они сказаны, даже то чего нет становится реальностью. |
|
|
|
|
# 9 |
|
Junior Member
Регистрация: 21.03.2004
Адрес: BC
Сообщения: 157
![]() ![]() ![]() ![]() |
Я бы посоветовал почитать работы ныне покойного Э. Дейкстры (E.Dijkstra).
Например "Дисциплина программирования". Или его Заметки и Программистские басни Одно из его (шуточных) высказываний (по памяти): "Если отладка это процесс устранения ошибок, то программирование это процесс создания ошибок"
Последний раз редактировалось BC Scout; 16.02.2005 в 22:15. |
|
|
|
|
# 10 |
|
Junior Member
Регистрация: 21.03.2004
Адрес: BC
Сообщения: 157
![]() ![]() ![]() ![]() |
Кстати, если будете искать работы Бентли на английском, имейте ввиду что он не совсем Джон (John). Он Jon Bentley.
![]() Еще из полезных книг: - некоторые работы Кернигана (одного из "отцов" C) , например "Элементы стиля программирования"; - Code Complete, by Steve McConnell (отличная книга, должно быть русское издание); - Rapid Development его же. Более полезна правда для менеджеров программных проектов, но много дает для понимания происходящих процессов. Современный аналог знаменитого "Мифического человеко-месяца" Фреда Брукса (тоже достойнейшая, хоть и немного устаревшая, книга!);. - Design Patterns, by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (тоже долна быть на русском). |
|
|
|
|
# 12 |
|
Full Member
Регистрация: 31.08.2003
Адрес: где-то между Марсом и Юпитером
Сообщения: 998
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
На мой взгляд, чем абстрактней книга, тем меньше от нее пользы практикующему программисту, а больше будущему профессору ВУЗа, чтобы было чем своих подопечных пригружать по полной программе... Однако, думаю,что фундаментальные сочинения, в которых повествуется об искусстве составления алгоритмов, просто необходимо изучать, чтобы не изобретать велосипед при составлении собственных программ.
Именно сочинения: "Искусство Программирования", Кнут -- пробовал читать, местами интересно, местами кажется примитивным, но есть и много мест, для меня не вполне усваиваемых, поэтому это четие я временно забросил...
__________________
Старые игры раздают здесь |
|
|
|
|
# 15 | |
|
Guest
Сообщения: n/a
|
Цитата:
Я бы добавил Кормена - "Алгоритмы: построение и анализ" очень помогает развить алгоритмическое мышление и доступно обьясняет многие не тривиальные алгоритмы. |
|
|
|
# 16 |
|
Junior Member
Регистрация: 23.12.2003
Адрес: Киев
Сообщения: 118
![]() ![]() ![]() ![]() |
Если процесс обучения приводит к результатам, то это не пустая трата времени. Если процесс обучения не приводит к результатам, то это пустая трата времени.
Смотри сам - если посли чтения Кнута, что-то отсаётся в голове, то почему бы и не поучится. Ведь гораздо полезнее помнить как решить, а не где искать решение. Хотя последнее, тоже, не мало важно. И, как ты понимаеш, это отностится к любым книгам, а не только к Кнуту... |
|
|
|
|
# 17 | |
|
Junior Member
Регистрация: 21.03.2004
Адрес: BC
Сообщения: 157
![]() ![]() ![]() ![]() |
Цитата:
Ведь ваши временнЫе ресурсы не бесконечны.Время, потраченное на чтение любой книги, возможно было "украдено" у другого занятия, например ... чтения другой книги, возможно более полезной с точки зрения выбранной цели и установленных приоритетов.
__________________
GCS/IT d+(-) s: a++ C++ P+ L+(--) W++ N+ w++ b++ tv+ DI++ e+++ h--- y+++ |
|
|
|
|
|
# 19 | |
|
Junior Member
Регистрация: 21.03.2004
Адрес: BC
Сообщения: 157
![]() ![]() ![]() ![]() |
Цитата:
Хотя, за последние несколько лет мне несколько раз понадобилось сделать имплементацию специфичных сортировок. И что, вы думаете я стал вспоминать что я давным давно прочел у Кнута? Или, может быть, стал перечитывать эту главу? Нет, нет, и еще раз нет. Я "пошел в Гугл" и сделал пару ПРОДУМАННЫХ запросов. И все. Правда, наверное должен признать что Кнут-таки помог мне в составлении этих запросов.
__________________
GCS/IT d+(-) s: a++ C++ P+ L+(--) W++ N+ w++ b++ tv+ DI++ e+++ h--- y+++ |
|
|
|