Tendría alguien la amabilidad de explicar este chiste con más detalle: «Hay dos problemas difíciles en informática: nombrar cosas, invalidación de caché y errores off-by-1».

La pregunta escribe dos pero en realidad menciona tres cosas.

Por cierto, he aquí por qué creo que estos 3 son difíciles en informática:

  • Nombrar cosas: Cualquiera que haya nombrado a un bebé, una mascota, un blog, un personaje, un coche o cualquier cosa conoce esta lucha. Queremos que nuestro código sea bonito y limpio, pero también queremos que nombrar en él sea fácil y corto. Queremos que sea práctico, para que pueda transmitir la intención o el trabajo de la variable/función/cualquier cosa. Porque puede ser que hayas escrito un programa complejo anoche y ahora no recuerdes lo que hace. :/
  • Invalidación de la caché: Los cachés se usan para tener una copia local disponible para hacer la navegación más barata. PERO, los datos originales cambian, y el tiempo de cambio es indeterminado. Queremos mantener la copia antigua, pero necesitamos cambiarla, pero no sabemos cuándo... :/
  • Error Off-by-1: Comúnmente llamado error Off-by-1 o error OB1, se produce cuando la iteración se ejecuta una vez demasiado adelantada o una vez demasiado reducida. Es el equivalente al error común que cometemos al contar años, días o cualquier cosa similar. Sucede cuando el programador pone "<=" en lugar de "<" o su equivalente con más de. Y entonces, vuelvo a repasar mis aprendizajes de primer grado y cuento las manzanas que tengo después de darle a mi amigo 5 de 11. :blush:

_Zircoz