Здравствуйте, Evgeny.Panasyuk, Вы писали:
LVV>>>Но полезно знать алгебру, вероятности, графы — это по-любому.
BFE>>Зачем графы? Можно всю жизнь проработать программистом и ни разу не использовать граф в явном виде.
EP>Так математика как раз и делает неявные структуры явными,
Но это ничего не даёт на практике.
EP>что упрощает коммуникацию и аккумулирование знаний.
Да, разумеется, только вот я не помню, что бы кто-то говорил нечто вроде:
"у нас граф наследования классов сложный..."
или
"образование цикла внутри графа построенного на смарт указателях привёло к утечке памяти".
Единственное, что приходит на ум, это граф переходов конечного автомата. Но и этот граф, опять же, присутствует в неявном виде.
EP>Естественно можно использовать что-то неявно, не подозревая об опыте и знаниях накопленных столетиями. Но зачем заново пытаться переоткрыть то, что давно изучено? NIH?
Я не о том, чтобы что-то переоткрывать, а о том, что графы вообще не используются в подавляющем большинстве задач.
BFE>>В стандартной библиотеке даже ни одного алгоритма, ни одного класса для графа нет, насколько я помню.
EP>Это вообще ни разу не аргумент и не оправдание. В стандартной библиотеке очень много чего нет, но это означает что нужно знать только то что в неё включено, очевидно же 
Как и любое теоретическое знание, знание графов пользу принести может. Однако, на практике знание графов нужно только если этого требует задача. Количество задач в которых используются графы существенно меньше, чем, скажем, задач, где используется массив. Я за 27 лет программирования ни разу не использовал граф на практике в том смысле, что рассуждал бы о структуре, как о графе. Ну не сталкивался я с задачами обхода графа или поиска пути. И я не думаю, что я в этом какой-то уникальный.