Debo prefacio esto con la afirmación de que es bueno para entender la teoría de tipos, pero también por otras razones. Sin embargo, si no está interesado en escribir bien, entonces no será tan interesante para usted.
Diría que es beneficioso comprender el álgebra abstracta, pero más específicamente, comprender los monoides, si va a programar. La razón es que las funciones puras son monoides sobre la composición. Si trabaja con funciones invertibles, las funciones invertibles son monoides sobre composición.
Si entras en la teoría de la categoría, aprenderás muchas cosas que unen todo:
- ¿Cuántas soluciones totales hay en este problema combinatorio?
- ¿Existe un algoritmo generalizado para convertir una malla de superficie triangular 3D en una malla de volumen tetraédrico?
- Cómo resolver la recurrencia [matemáticas] T (n) = 3T \ left (\ frac {n} {2} \ right) + n \ sqrt {n + 1}
- ¿Dónde y cómo se superponen la programación y las matemáticas?
- ¿La codificación está relacionada con las matemáticas?
- Los booleanos son uniones disjuntas con su propio álgebra.
- El tipo de unidad es un objeto terminal y el fondo es un objeto inicial, y reemplaza la noción de vacío y “excepción”. Estos son su 0 (identidad aditiva) y 1 (identidad multiplicativa) en tipos.
- Hay un álgebra para trabajar con tipos, en el que hay una suma (unión disjunta) y un producto (tupla). Eso significa que los booleanos son un álgebra creada por otro álgebra, llamada álgebra de tipos.
- También hay exponenciales (funciones) y derivados (más difíciles de describir, pero pueden relacionar tipos entre sí).
Todo esto se debe a la comprensión de qué es un álgebra, o un grupo, o monoide, etc.