1/8/2026 · 5 min de lectura
El río y la piedra: qué debe fluir y qué debe quedarse quieto
Heráclito y Parménides discutieron si la realidad cambia o permanece. Toda aplicación resuelve esa discusión cada vez que decide dónde guarda un dato.
- #filosofía
- #arquitectura
- #datos
- #decisiones

Un pedido de hace ocho meses aparecía con un importe que nunca se había cobrado. No era un error de cálculo ni de redondeo: el pedido no guardaba el precio, guardaba una referencia al producto. Y el producto había subido de precio en enero.
El histórico entero de la tienda cambiaba de forma retroactiva cada vez que alguien tocaba el catálogo. Nadie lo había programado así a propósito. Simplemente se había asumido que un precio es un dato, cuando en realidad son dos cosas distintas que se llaman igual.
Dos griegos discutiendo por lo mismo
Heráclito lo dijo con un río: no puedes bañarte dos veces en el mismo, porque ni el agua ni tú sois ya los mismos. Todo fluye. Lo estable es la apariencia; lo real es el cambio.
Parménides respondió con lo contrario. Lo que es, es; lo que no es, no es. El cambio es una ilusión de los sentidos, porque para que algo cambie tendría que pasar del ser al no-ser, y el no-ser no existe. Lo real es lo que permanece idéntico a sí mismo.
Occidente lleva veinticinco siglos sin cerrar la discusión. Nosotros la cerramos cada semana, sin darnos cuenta, cuando decidimos si un dato se guarda o se calcula.
El precio es dos datos
El precio de venta de un producto es un río: cambia con los costes, con la temporada, con la competencia. Preguntar “¿cuánto cuesta esto?” es preguntar por el estado presente y admite una sola respuesta válida, la de ahora.
El precio al que se vendió una unidad concreta un martes de enero es una piedra. Ocurrió. Ninguna decisión comercial posterior puede modificarlo, igual que ningún cambio de opinión modifica lo que ya cenaste ayer.
Un pedido no contiene productos: contiene la fotografía de unos productos en el momento de la compra. Nombre, precio, IVA, dirección de envío, condiciones. Todo eso se copia, no se referencia. Es la parte del sistema que Parménides gobierna: lo que ya es, es, y ha de seguir siendo idéntico a sí mismo mientras exista la base de datos.
Y el catálogo, al lado, sigue siendo de Heráclito. Fluye sin pedir permiso.
La regla: referencia lo que quieres que cambie contigo, copia lo que quieres que sobreviva a tus cambios.
Los dos errores son simétricos
Está el río que finge ser piedra: un dato vivo que alguien congeló para ganar rendimiento y ahora miente. Una caché sin invalidar. Un contador de stock desnormalizado que se desincronizó una noche y nadie sabe cuándo. Un “total” guardado en la fila del pedido que no cuadra con la suma de sus líneas. La forma de detectarlo es incómoda: dos sitios responden a la misma pregunta y no dicen lo mismo.
Y está la piedra que finge ser río: un hecho consumado que se recalcula cada vez que alguien lo mira. El histórico del ecommerce era eso. También lo es una factura que se regenera en cada visita, un informe cuyos números bailan según cuándo lo abras, un log que se reconstruye desde el estado actual en lugar de haberse escrito cuando pasaron las cosas.
El primero es un bug que se ve. El segundo es peor: no se ve. El sistema no falla, contesta con seguridad, y lo que contesta es falso.
Lo que Parménides tenía razón en defender
Del río de Heráclito nadie discute que sea el mismo río. Cambia el agua entera y sigue llamándose Ebro. Hay algo que persiste mientras todo lo demás se mueve, y ese algo no es la materia: es la identidad.
En un sistema, la identidad es lo que nunca debe cambiar aunque cambie todo lo que cuelga de ella. El identificador de una fila. La URL pública de un artículo. El slug de una página que ya está indexada y enlazada desde fuera. El identificador de un cliente que se arrastra por facturas, tickets y contratos.
Ahí no hay flujo que valga. Cambiar un identificador no es una edición, es una amputación: rompe todos los enlaces que apuntaban a él, y los enlaces son de terceros, así que ni te enteras. Por eso los datos mutables se editan libremente y las claves no se tocan; por eso una URL buena sobrevive a tres rediseños.
Se puede reescribir entero el contenido de una página sin mover su dirección. Es exactamente el río: agua nueva, mismo cauce, mismo nombre.
Cómo lo decido ahora
Antes de guardar cualquier cosa, dos preguntas:
- ¿Esto es un hecho o un estado? Un hecho tiene fecha y no se edita nunca: se corrige con otro hecho encima, igual que en contabilidad un asiento equivocado no se borra, se contrasienta. Un estado no tiene fecha, tiene ahora, y solo debe vivir en un sitio.
- ¿Quién manda si dos copias no coinciden? Si no hay una respuesta clara, no tengo un caché: tengo dos verdades compitiendo, y la que gana lo hace por accidente.
Y una tercera, que es la que más disgustos me ha ahorrado: ¿qué se rompe fuera si esto cambia de nombre? Si la respuesta incluye “enlaces que no controlo”, ese campo ya no es un campo. Es un contrato.
Ni todo fluye ni nada cambia
En la navaja de Ockham escribí que cada abstracción es una apuesta sobre el futuro. Esta es la apuesta anterior, la que se hace antes de escribir una línea: decidir de qué parte del sistema es cada dato.
Los sistemas que envejecen mal suelen ser dogmáticos. Los que hacen fluir todo pierden la historia: no pueden decir qué pasó, solo cómo están las cosas hoy. Los que lo congelan todo se quedan sin presente: acumulan copias de una realidad que ya se movió y ninguna sabe cuál manda.
El oficio está en repartir. Que fluya el catálogo, que la venta sea piedra. Que fluya el contenido, que la URL sea piedra. Que fluya el borrador, que lo publicado quede fechado y quieto.
Heráclito y Parménides no se equivocaron ninguno de los dos. Discutían sobre el mundo entero, que es una discusión sin árbitro. Nosotros discutimos sobre una tabla concreta, y ahí sí hay respuesta correcta — solo hay que acordarse de hacer la pregunta antes de que el histórico empiece a cambiar solo.
Sigue leyendo
La navaja de Ockham y el código: contra la abstracción prematura
Cada capa que añades es una afirmación sobre el futuro. Ockham pedía no multiplicar entidades; Epicuro explicó por qué un concepto sin experiencia detrás no dice nada.
El botón que no construí: sabiduría práctica para decidir qué se implementa
Aristóteles distinguía entre saber hacer algo y saber si hay que hacerlo. La segunda es la que decide si una funcionalidad sirve o solo pesa.
El momento oportuno: criterio técnico y velocidad de entrega
Los griegos tenían dos palabras para el tiempo. Casi todas las discusiones sobre entregar rápido usan la que no toca.
