Моя проблема в том, что я не понимаю теорию категорий, и не могу просто взять и описать структуру (расклад) с массивом (решеткой) в терминах теории категорий.
Это не только моя проблема, многие не понимают, например в книжке
2023, Concepts of programming languages
про это не написано.
Математика - это специализированный язык. Почему нужно переводить именно на него? Чем он лучше других языков?
---
«Теория категорий — это язык фундаментальной науки. Она становится критически важной, когда мы выходим на передний край исследований. Математика — не просто один из специализированных языков. Это язык предельной точности и общности.
Чтобы формально и доказуемо описать, что на самом деле означают программы, используют категорную семантику (например, семантику через декартово замкнутые категории для λ-исчисления).
Математика (особенно ТК) учит мыслить композиционно — строить сложное из простого правильным, гарантированно работающим способом. Это прямой путь к созданию более надежного и модульного ПО.
Вы можете не только написать программу, но и доказать, что она обладает определенными свойствами.
Описывать массив в таких терминах — это не для того, чтобы работать с ним на практике, а чтобы выявить его глубинную структуру и
увидеть, что она изоморфна структурам в других, казалось бы, несвязанных областях.
Современные системы типов (зависимые типы, полиморфизм высшего ранга) идеально описываются в терминах категорий.
Монады, аппликативные функторы, F-алгебры — это прямые применения теории категорий, позволяющие управлять побочными эффектами и структурами данных на невиданном уровне абстракции.
Определив что-либо как категорию особого вида, вы мгновенно получаете доступ ко всей библиотеке понятий и теорем теории категорий:
пределы, копределы, функторы, естественные преобразования.
Начинать её изучение стоит не с попыток «перевести» массивы,
а с основ: что такое категория, морфизм, функтор, естественное преобразование,
на простейших примерах из теории множеств и теории графов.
Только потом вы увидите, как эта линза позволяет
по-новому фокусировать взгляд на знакомых вещах. »
Вот это всё маркетинговый булщит. Что такого сложного выписать цепочку абстрагирования из конкретных понятий массива и структуры. Показано ведь Гегелем, что конкретизация в обратную сторону воспринимается труднее.
Отредактировано Лис (2026-02-07 16:21:19)