Un café con la abstracción
Hoy he estado leyendo sobre la teoría de las categorías, lo que me llevó a pensar en la abstracción.1 A los humanos nos gusta generalizar. Clasificar lo que vemos y conocemos. Desde la orientación política de una persona hasta sus gustos musicales. Si conocemos a alguien lo agrupamos —queramos o no—, «esa persona es así porque le gusta eso». Queremos asociarla a algo ya conocido, puesto que lo desconocido no nos agrada.
Desde tiempos inmemoriales cada evento que no entendíamos buscábamos dar una respuesta, para desastres naturales era culpa de los dioses que nos castigaban por nuestros actos; ahora, si ocurre una guerra, puede tratarse de un plan oculto entre las «personas que gobiernan el mundo», una conspiración. Lo desconocido nos inquieta. Nos genera incertidumbre. Debemos saber, queremos saber, aunque no tengamos pruebas, y si es necesario, inventar una respuesta.
Pero las generalizaciones nos han permitido sobrevivir y evolucionar. Si no pudiéramos generalizar, crear abstracciones, asociar las cosas, ¿cómo podríamos vivir? ¿Cada cuestión sería específica y singular? Sería un caos. Conocer una nueva ciudad o persona sería como volver a empezar, todo de cero, un nuevo comienzo, una enorme inquietud rodearía nuestras vidas. Los recuerdos no existirían y solo viviríamos en un constante presente. Aterrador.
Y es que, la generalización, es una abstracción. Esta nos permite llegar a una rápida respuesta sin entrar en detalles mundanos; según patrones ya vistos y vividos en algún momento pasado. El problema es que algunas generalizaciones nos llevan al error. Por ejemplo, leer el comentario de una persona, nos puede hacer suponer que es de cierta forma cuando de verdad no lo es. Entonces: una generalización irreflexiva nos lleva a sesgos.
Esto pasa mucho con las herramientas de programación. Si te gustó un tipo de lenguaje de programación: vas a tender a preferir otros similares, en desmedro de los que no se le parecen. Y es así como se pierden oportunidades, se hacen juicios equivocados, y en algunos casos, es posible llegar a atacar a otros solo por no compartir tus preferencias (muy común en algunas redes sociales). Puede ser peligroso generalizar de manera apresurada y sin un mínimo de duda sobre tus creencias.
Tener información y algo de escepticismo, ayuda. En otros casos nos libera de conflictos irrelevantes. Asimismo, pensar que hay una posibilidad de error en nuestros juicios nos salvarían del dogmatismo —tan arraigado en la informática por el amor a ciertas herramientas—.
Previo a agrupar de modo afanado una cosa o persona o evento que nos sucede, quizá, sea mejor tomarse un tiempo para recopilar más información antes de llegar a una conclusión. Esto nos evitaría varios problemas gratuitos. Pensar que nuestras opiniones tienen un margen de error, un pensamiento probabilista sobre uno determinista que, al menos según pienso, es más sano y prudente.
Aunque, la paradoja reside en que, aun haciendo esto, de todas formas sería imposible no generalizar y caer en sesgos. Pero ser conscientes de nuestras limitaciones y forma de actuar y de funcionar, como humanos, ya sería un gran avance.
Es acaso uno de los mejores libros para introducirse a este árido tema: Seven Sketches in Compositionality: An Invitation to Applied Category Theory