Software y la guerra contra la complejidad – TechCrunch


Mira a tu alrededor: ¿qué está pasando? Australia, AI, Ghosn, Google, Suleimani, Starlink, Trump, TikTok. El mundo es un flujo eruptivo de comportamientos emergentes con frecuencia tóxicos, y cada evento inesperado está lleno de sutiles matices interconectados. Stephen Hawking predijo que esto sería "el siglo de la complejidad. ”Estaba hablando de física teórica, pero también tenía razón sobre tecnología, sociedades y geopolítica.

Tratemos de definir términos. ¿Cómo podemos medir la complejidad? Seth Lloyd de MIT, en un papel que comienza secamente "El mundo se ha vuelto más complejo recientemente, y la cantidad de formas de medir la complejidad ha crecido aún más rápido", propuso tres categorías clave: dificultad de descripción, dificultad de creación y grado de organización. Usando estos tres criterios, parece evidente de un vistazo que tanto nuestras sociedades como nuestras tecnologías son mucho más complejas de lo que nunca han sido, y están creciendo rápidamente aún más.

La cosa es que la complejidad es el enemigo. Pregúntele a cualquier ingeniero … especialmente a un ingeniero de seguridad. Pregúntale al fantasma de Steve Jobs. Agregar complejidad para resolver un problema puede traer un beneficio a corto plazo, pero siempre conlleva un costo a largo plazo cada vez mayor. Cualquier mente humana solo puede abarcar tanta complejidad antes de que se dé por vencida y comience a hacer simplificaciones excesivas con un riesgo acompañante de errores terribles.

Es posible que haya notado que esas mentes humanas facultadas para tomar decisiones importantes son a menudo las menos adecuadas para lidiar con una complejidad matizada. Esto en sí mismo podría decirse que es un efecto persistente de la creciente complejidad. Incluso el concepto simple de democracia se ha vuelto altamente complejo: el registro de partidos, las primarias, la recaudación de fondos, la información errónea, la gerrymandering, las listas de votantes, los cuadros colgantes, las máquinas de votación, y mapear un solo voto para un representante a docenas, si no cientos de temas complejos, es imposible, incluso si está dispuesto a considerar todos esos problemas en profundidad, que la mayoría de las personas no.

Teoría de la complejidad es un campo rico, pero no está claro cómo puede ayudar a las personas comunes que intentan dar sentido a su mundo. En la práctica, las personas lidian con la complejidad al proponer modelos simplificados lo suficientemente cercanos a la realidad compleja para que sean viables. Estos modelos pueden ser peligrosos: "todo el mundo solo necesita aprender a codificar", "el software hace lo mismo cada vez que se ejecuta", "las democracias son benévolas", pero fueron lo suficientemente útiles como para hacer un progreso irregular.

En software, al menos reconocemos esto como un problema. Prestamos atención a las glorias de borrar el código, de simplificar las funciones, de eliminar los efectos secundarios y el estado, de despreciar las API complejas, de intentar escindir los crecientes matorrales de complejidad. Llamamos a la complejidad "deuda técnica" y nos damos cuenta de que, al menos en principio, debe pagarse algún día.

“La globalización debe conceptualizarse como una serie de sistemas globales de adaptación y evolución conjunta, cada uno de los cuales se caracteriza por la imprevisibilidad, la irreversibilidad y la evolución conjunta. Dichos sistemas carecen de "equilibrio" u "orden" finalizados; y los muchos grupos de orden aumentan el desorden general ", a citar el difunto John Urry. Curiosamente, el software también podría verse de esa manera, interpretando, por ejemplo, "Internet" y "navegadores" y "sistemas operativos" y "aprendizaje automático" como sistemas de software globales.

El software también es el mejor caso posible para simplificar las cosas complejas. Se distribuye rápidamente en todo el mundo. Está relativamente desprovisto de hacinamiento emocional o político. (Lo sé, lo sé. Dije "relativamente"). Existen medidas razonablemente objetivas de rendimiento y simplicidad. Y todos estamos al menos teóricamente incentivados para simplificarlo.

Entonces, si podemos hacer que el software sea más simple, tanto sus herramientas y dependencias como sus productos finales reales, entonces eso sugiere que tenemos al menos alguna esperanza de mantener el mundo lo suficientemente simple como para que los modelos mentales crudos sigan siendo vagamente útiles. Por el contrario, si no podemos, entonces parece probable que nuestra realidad se siga volviendo cada vez más compleja e impredecible, y viviremos cada vez más en un mundo de bandadas enteras de cisnes negros. No estoy seguro de si ser optimista o no. Parece que mi modelo mental me está fallando.

LO MÁS LEÍDO

Leave a Reply

Your email address will not be published. Required fields are marked *