"Разрыв между ментальными представлениями и реальностью который я рассматривал ранее (тут и здесь) это не только про бытовые когнитивные искажения и бытовые идеи отстающие от реальности (бытовые тут в том числе и ""рабочие/проектные""), но и про концепции более научные. Например плоды теоретической математики остаются больше похожими на очень сложную художественную литературу ровно до тех пор, пока эта математика не начинает применяться для измерений реального мира и влияния на этот мир. Там где хорошая математика начинает проникать в реальность все становится эффективнее. Чисто интуитивно сравните степень заземленности математики самой по себе, и например математики используемой в физике. Разница очевидна: во втором случае абстрактные концепции непосредственно описывают и предсказывают реальные явления. Возможно отсутствие хорошего заземления в реальность это одна из причин по которым большую часть математических трудов может быть так сложно изучать – они же вакууме самой математики, а значит сложнее строить ассоциации в мозгах, ибо более высокие математические концепции завязаны на другие более ""простые"", которые нифига не простые. Как и с физикой, примерно то же самое происходит с computer science. На первый взгляд кажется, что это какая-то неприкладная теория. Что может быть практического в изоморфизмах, гомоморфизмах, теории типов или теории категорий? И прочих непривычных для обсуждения в широких кругах концепциях, о которых я периодически пишу? вот и сейчас, например 🙂 Да практически все 💪 Прелесть в том, что часто это та самая __хорошая математика__, которая проникает в реальность, если с ней немного разобраться. Потому что computer science в принципе как область почти во всех исследованиях сразу направлена на реальный мир – как бы вчисления оптимизировать? какая мат. модель подойдет лучше? Как бы нам шифрование усилить в целях безопасности? И так далее. Чисто в прикладном смысле для программных инженеров ценность изучения этих темок проявляется в виде способности мозгов распознавать __интересные отношения__ между одним куском кода и другим, или между структурами данных и операциями над ними. Эта ""неприкладная теория"" трансформируется в совершенно прикладной навык — например, способность отрефакторить говняный API во вполне вменяемый, или создать элегантную абстракцию, которая упрощает сложную систему. Когда мы понимаем изоморфизмы, мы можем увидеть ~~и зарыдать~~ как преобразовать реляционные ""объекты"" базы данных в объектные структуры в коде и обратно (ORM'ки). Когда мы осваиваем теорию типов, мы вдруг становимся способны создавать более надёжные и безопасные программы, в том числе на динамически типизируемых языках 👉 Ставь Бейтмана если тема интересна, но ничего не понятно и надо больше примеров на пальцах. Ставь Гарольда если готов скинуться админу на лечение."