Алгоритмы для программистов

Тема в разделе "WASM.HEAP", создана пользователем Guru_of_Zen, 4 сен 2010.

  1. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    Guru_of_Zen

    в противовес этим ханжам есть другие ханжи в магазинах которые говорят что новое это круто а старое - отстой (в том числе и про ПО) - знания алгоритмов и понимание методов их оценки дает свободу выбора - понимание того, что новое иногда это теже яйца только в профиль порой экономит ваши кровные
     
  2. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    Enterado
    а что такого в прикладном кодинге, просветите, а ?
    на конкретном примере, пожалуйста ?
    а лучше на собственном, где вы в последний раз решали уникальную задачу, думали и творили, перебирая алгоритм с (М)МИКСА на свой язык ?

    взять готовую либу, нарисовать гуецъ, вызвать апи-функции -- где алгоритмы ?
    в математическом прикладном кодинге -- опять-таке Боост подключил и вперед.
    Клерк во многом прав, говоря что высокий уровень не дает понять самое суть и потому гуан. (примерная цитата или скорее позиция).

    среди прикладников не так уж и много знающих асм и низкай уровень, архитектуру оси и процов, а вы мне про матан и алгоритмы, освоить которые труднее на порядок имхо.
    да что там... защищенный режим тянут единицы, а вы про гипотетический МИКС и Кнута с матаном.

    не верю и все тут.

    Как сказали выше, Кнут -- это больше громкое слово и понты (ну, стоят три тома на полке, новые, не читанные дальше вступления, но кто ж знает ?). А "Ссы++ для чайников" затерта в соплю.

    Кнут в кач-ве НЕ справочника -- это для сумасшедших профессоров, впавших в маразм, от такого же профессора (и даже не от одного Кнута; TAoCP -- труд многих, многих, многих людей, а если уж вообще прямо, то Кнут занят больше систематизированным переписыванием математических открытий; правда отмечу справедливости ради, что есть вроде и егойные алгоритм(ы)).

    А обычным "искусным" программистам гораздо по душе больше "Совершенный код" Макконела, который рекомендует, что если ваша программа падает на значении допустим 17, то просто добавьте отдельное условие, обрабатывающее сие бажное значение 17 и не ищите причину сей ошибки во всей программе. Иными словами, просто вставьте костыль и пишите rовн0код в промышленных масштабах и дальше. Думая, что куете совершенный код. (а кол-во положительных отзывов на первой странице посмотрите, о чем это вам скажет интересно ?)

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

    А тиражи TAoCP сие в общем-то и подтверждают.

    Rockphorr
    не совсем понимаю...
    имеете ввиду, что ханжи, превозносящие алгоритмы до небес, берут в магазине скажем офис 2003 и 2007 и 2010, реверсят, сравнивают алгоритмы и т.п. ?
     
  3. osox

    osox New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2009
    Сообщения:
    280
    ))))+++
    можно цитату из книги ?
     
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Собственно, что сам Д.Кнут написал о своем детище (Издательство "Мир", Москва 1976 первое издание на русском языке)
     
  5. Microedition

    Microedition Active Member

    Публикаций:
    0
    Регистрация:
    5 июн 2008
    Сообщения:
    814
    По троллингу - зачет.
     
  6. Phuntik

    Phuntik New Member

    Публикаций:
    0
    Регистрация:
    4 фев 2008
    Сообщения:
    318
    Поперхнулся кофем. Вы внимательно книгу читали, любезный? Ссылочку в студию, пожалуйста. А то я уже почти согласился с Nesmysl.
     
  7. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    osox
    Phuntik
    ага, насчет маконелла признаю свою ошибку -- там сей текст костыль и впрямь есть (if x == 17 ; y == 25 с чем-то и т.д.), но кто ж помнит, что он находится в параграфе "советы дьявола по отладке" хехе :) а сам текст написан в таком, утвердительном стиле, как бы "так и надо делать", никаких предостережений и т.д. типа sapienti sat.

    а если я закладку положил и начал читать через неделю-три? (а приблизительно сие и случилось, только не через нежелю, а через полгода)

    з.ы. но все равно естественно прошу прощения за наезд на макконела. :)
     
  8. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    ззы

    ну так что насчет алгоритмов-то ?

    судя по топику читали многие, а еще больше считают что кнут это маст рид и маст хэв, кто-то согласен насчет справочника, но кто-нить расскажет // покажет, как ему на практике помогла TAoCP и некий мудреный алгоритм ?

    или получится, что кнут -- это бесполезная занудная классическая теория ? скачал, поднял ЧСД (или купил и поднял ЧСД по потолка), прочитал вступление, ужаснулся первой формуле и поставил на полку "до лучших времен" (equ "до скончания солнечной системы") ?

    зззы просто кого еще спрашивать, как не здешних ассемблерщиков и хоть каких-никаких, но математиков ?
    а на какой-нидь php-club.ru имхо бесполезно вообще ходить не только за кнутом, но и за советом по пхп.
     
  9. art

    art New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2010
    Сообщения:
    80
    > покажет, как ему на практике помогла TAoCP и некий мудреный алгоритм ?

    Мне алгоритм вейвлет преобразования пригодился и обучение сетей рбф.

    Еще алгоритмы сжатия примения и изучаю.

    Ну и моя любимая тема - компиляторы. И на мой любительский взгляд в данной теме без алгоритмов никуда(хотя есть и сторонние ибилиотеки и есть яки и бизоны, но все же).

    >>
    или получится, что кнут -- это бесполезная занудная классическая теория ?

    Все же профессия программист сильно разветвилась и эти ветви между собой уже имеют мало общего. Для начал ограничите рамки. Какие именно программисту вами имеются ввиду, а потом можно продолжать
     
  10. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    art
    ну опять же в качестве справочника использовали кнута, не так ли ? не долбили же матан до посинения ? поставили задачу, вкурили маленько в алгоритм, реализовали при помощи другого инструмента, и... все. о чем и речь в первом посте шла.

    не спорю.
    и без матана имхо там никуда тоже.

    про прикладных как-то речь в конце зашла. :)
     
  11. art

    art New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2010
    Сообщения:
    80
    > и без матана имхо там никуда тоже.

    В компиляторах матан нафига?

    > ну опять же в качестве справочника использовали кнута, не так ли ?

    Неа, не использовал. Там нет вейвлет-преобразования и нейронных сетей то же нет)
     
  12. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    art
    стандартный ответ же.
    прикладник, не знающий матана -- нафига матан прикладному программисту.
    системщик , без матана -- нафига матан системному программисту.
    разработчик компиляторов , без знания матана -- нафига мне матан.
    и т.д.

    нужен. или вы всерьез полагаете, что можно осилить , ну скажем, книгу дракона, без матана ? а имхо без книги дракона (или подобных) -- никуда не двинешься.

    оу.
    тогда выходит, что кнут -- не просто бесполезная занудная классическая теория, а еще и устаревшая и неполная.
    на данный момент разумеется.
    если кнут доживет до годов, эдак, 2070-ых, не будучи поражен при этом маразмом, -- тогда может будет и полная ыхых. если судить по нынешним темпам написания .
     
  13. art

    art New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2010
    Сообщения:
    80
    2Guru_of_Zen

    Что вы сказать хотели?

    >нужен. или вы всерьез полагаете, что можно осилить , ну скажем, книгу дракона, без матана ?

    Можно осилить и без матана, что тебя смущает?

    >тогда выходит, что кнут -- не просто бесполезная занудная классическая теория, а еще и устаревшая и неполная.

    Непонятно только почему в книге посвященной алгоритмам должны быть вейлвет преобразования или нейронные сети.

    Чисто для справки:

    Там еще и фурье-преобразования нет и еще много всякого.

    ПС.

    Я вам ничего доказывать не собираюсь. Не хочете учить алгоритмы - не учите.

    Не хотите кнута читать - не читайте.

    По вашему что должен знать студент закончивший обучение(в вузе, ссузе) связанное с программирование,что он должен знать? Только технологии?Технологии и языки?
     
  14. Guru_of_Zen

    Guru_of_Zen Member

    Публикаций:
    0
    Регистрация:
    21 янв 2010
    Сообщения:
    288
    art
    начнем с начала.

    я>>>>кто-нить покажет, как ему на практике помогла TAoCP и некий мудреный алгоритм ?
    вы>>> Мне алгоритм вейвлет преобразования пригодился и обучение сетей рбф.
    я>>ну опять же в качестве справочника использовали кнута, не так ли ?
    вы > Неа, не использовал. Там нет вейвлет-преобразования и нейронных сетей то же нет)

    вначале я говорил про кнута. и про пригодившийся кому-нить алгоритм из "Искусства".
    вы ответили про вельвет, я и подумал, что вы нашли сие у кнута в ТАоСР.
    я ж его не читал, откуда я знаю что там есть.

    блажен кто верует.
    осиляйте.
    или осилить -- это по-вашему пролистать, картинки посмотреть ?

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

    не знаю, не заканчивал.
    вам виднее.
     
  15. art

    art New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2010
    Сообщения:
    80
    > блажен кто верует.
    осиляйте.
    или осилить -- это по-вашему пролистать, картинки посмотреть ?

    Еще раз. Где при построении компилятора нужен матан? Может я чего-то не знаю и там производные считать нужно, может быть интегральчик посчитать или дифур решить?

    >> начале я говорил про кнута. и про пригодившийся кому-нить алгоритм из "Искусства".
    вы ответили про вельвет, я и подумал, что вы нашли сие у кнута в ТАоСР.

    Я бы очень удивился если бы у кнута были вейвлет-преобразования).

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

    И чего?

    По поводу проще. Вы же писали,что кнута не читали?
     
  16. TechManiac

    TechManiac New Member

    Публикаций:
    0
    Регистрация:
    21 авг 2010
    Сообщения:
    6
    *не удержался*
    У меня складывается стойкое ощущение, что вы называете словом "матан" эдак штук 5 математических дисциплин. Матан нужен в нелинейном программировании (Лагранж, дорогой), и в графике(слышал, но сам не писал). ИМХО хорошему программисту из математики нужно знать основы алгебры и крепко дискреточку с теорией графов, остальное в зависимости от желания и предметной области.
     
  17. Rockphorr

    Rockphorr Well-Known Member

    Публикаций:
    0
    Регистрация:
    9 июн 2004
    Сообщения:
    2.622
    Адрес:
    Russia
    Guru_of_Zen
    думаю что те кто знает алгоритмы неважно ханжа или нет обычно в состоянии написать что - либо самостоятельно или в курсе что там пишут коллеги и дать оценку офису может без изнурительного реверса - тот же руссинович он и в ibm крутился так что наверняка знает на каких проектах сидели только профессионалы а на каких в команду попадали те кто мог налажать
     
  18. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    Генерация псевдослучайных чисел. Линейный и двоичный поиск. Различные виды сортировки. Это всё алгоритмы, исключительно подробно разобранные у Кнута и необходимые если не каждому, то подавляющему большинству программистов. Такие вещи, как генерация случайных перестановок (на базе существующего ГСЧ) и случайные выборки M элементов из N, нужны уже не всем, но также исключительно полезны в своей области. (Если речь идёт о конкретных примерах - например, лично я постоянно использую случайные выборки.) И так далее в направлении сужения предметной области вплоть до алгоритмов, которые людям, не интересующимся соответствующей областью, кажутся оторванными от их реальности.
    Ассемблер Кнуту нужен для вполне конкретных целей - чтобы на конкретные вопросы были конкретные ответы. Например, что в среднем быстрее - быстрая сортировка или пирамидальная? На уровне "ну посчитаем примерно число каких-нибудь действий" и то, и другое в среднем занимает O(n log n), а чтобы посчитать константы в O и сравнить алгоритмы, нужно уже конкретно описывать, что понимается под элементарным действием и сколько времени такое действие занимает. То есть нужен ассемблер, где элементарные действия видны напрямую, и нужно расписывать алгоритмы на низком уровне. Ну а для тех, кто с ассемблером разбираться не желает, Кнут приводит и высокоуровневые описания.
     
  19. PSR1257

    PSR1257 New Member

    Публикаций:
    0
    Регистрация:
    30 ноя 2008
    Сообщения:
    933
    Guru_of_Zen

    Вы рассматриваете программирование неполностью. Забываете две весчи:

    0) Проектирование каркаса программы - модули там всякие и тп;
    1) Программирование - это в-основном ДИСКРЕТНАЯ математика а это мало похоже на матанализ для гладких функций.

    Алгоритмика - это ЧАСТЬ процесса. В лучшем случае грамотный архитектор даст вам подзадачку какой-нить сортировки и вы можете подчитать Кнута или что-то еще.

    Великий Мастер Программирования Билли The Gates напроектировал наколеночную DOS 1.0 с совершенно тупорылыми FCB. После успешного спиз..ания хэндлеров из nix все пришло в какое-то подобие порядка (ver 3.0).

    В криптоанализе вам потребуеццо матан. В базах данных - слышал в Oracle целый штат математиков трудиццо над оптимизацией обработки запросов.

    А вообще физика - вот что нужно программисту! Теории групп там всякие очень помогают гнать негуано.
     
  20. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    http://en.wikipedia.org/wiki/Tim_Paterson