Здравствуйте, hal9000, Вы писали:
H>ИМХО: если человек знаком с основами дискретной математики (на самом деле любой математики), то его программы будут качественней, чем у человека который вообще не знаком с математикой. Не обязательно напрямую применять математику при написании кода, просто мозги человека понимающего теорию более упорядочены и он сможет найти в среднем более качественное и красивое решение. Человек не знающий математику сильно ограничен в прочтении литературы или в изучении нового алгоритма.
Раз уж мы в КСВ, то без всяких имхо:
Любому нормальному разработчику упомянутые выше Кнут, Хопкрофт и сотоварищи в полном объеме не нужны. Если нужны — значит это специфика достаточно узкой предметной области — геймдева с его аналиткой/линейкой, компиляторостроения с его алгебрами, языками, грамматиками и т. д. Конечно, "вообще не знаком с математикой" — это передергивание: что такое O(..) и конечный автомат знать лучше бы всем, но двадцать алгоритмов сортировки и отличие LL и LR не нужны практически никому. Что касается упорядочивания мозга, то SICP и тот же Haskell лично на меня оказали на порядок большее влияние чем алгоритмы, грамматики и прочие Кнуты с которыми все так почему-то носятся.
P.S.: Эх, если бы студентам вместо Кнута какой-нибудь Совершенный код (или иную болтологию сходной тематики) подсовывали, насколько бы мир стал прекраснее...
... << RSDN@Home 1.2.0 alpha 4 rev. 1138>>