Ejercicios
Ej 1. Analice la voz inglesa “NO PAIN NO GAIN” desde un punto de vista lógico.
Ej 2. Analice la misma frase desde el punto de vista de un programador.
Solución
Ej 1.
“No pain, no gain” significa algo así como “Sin dolor no hay ganancia”; es una de esas frases motivacionales estúpidas de la gente que hace ejercicio, especialmente ejercicio de fuerza en un gimnasio, aunque podría aplicarse a otras situaciones. El elemento implícito, pero muy importante, es la implicación: “if there is no pain, then there is no gain” (si no hay dolor, entonces no hay ganancia).
Llamemos entonces “no pain” y “no gain”. . Recordemos la tabla de verdad:
Lo único que se puede concluir es que si no pain entonces no gain.
El problema es que la frase crea la ilusión de que si duele entonces sí o sí habrá ganancia. Pero esto es un razonamiento falaz.
.
O sea, el dolor es condición necesaria, pero no suficiente, para la ganancia. no no pain, o sea pain, no implica no no gain, o sea gain.
,
o sea no no gain = gain implica no no pain = pain. Ganancia implica dolor. Todo esto sería más fácil de escribir si hubiese elegido p = pain y q = gain pero no lo hice.
Eso es una porquería porque a) para qué sufrir si no sabemos si sirve de algo, y b) la única manera de saber si “está funcionando” es ver el resultado final. Que duela no significa nada. Pero si no duele, sabemos que no sirve.
Por lo tanto, declaro que este sticker en la salida del gimnasio es una VIL Y CONDENABLE MENTIRA. Me enoja 😡
Ej. 2
Podríamos pensar en una aproximación naïve…
function getHasNoGain(pain: boolean): boolean {
if (!pain) {
return true;
}
// else????
}❌
o bien
function getHasGain(pain: boolean): boolean {
if (!pain) {
return false;
}
// else????
}❌
Pero siempre nos falta algo. Resulta que no podemos definir completamente una propiedad en función de la otra. Lo único que podemos decir es:
function getMayHaveGain(pain: boolean): boolean {
return pain;
}✅
y el resto de la lógica tendrá que quedar definida externamente por otros signos.
O probablemente nos convenga ignorar todo y quedarnos a dormir la siesta.
Cuando empecé a pensar en un post sobre el ejercicio estaba yendo tres veces por semana al gimnasio y hasta corriendo una o dos veces por semana. Lo odiaba, pero lo hacía igual. Después me agarró el cansancio, vinieron las vacaciones, nunca me recuperé, bajé nominalmente a dos veces por semana, y nada de correr porque me duele la rodilla. Hoy por hoy cuesta ir siquiera una sola vez al gimnasio. Culpo a la ola de calor, pero no se. Es horrible. No entiendo cómo hay gente que le gusta torturarse así.