Tirar la moneda hasta que caiga de canto. La triste historia del impuro depurador apurado.
Save. Refresh. Error. Refresh. Error. Refresh. Anda. Refresh. Error.
Albert Einstein dijo.
Locura es repetir lo mismo una y otra vez y esperar resultados distintos.
– Claramente, nunca tuvo que aprender a programar
Hay algo enloquecedor cuando estás aprendiendo a programar, y es la sensación de que el universo te está gastando y lo hace moviendo electrones al azar cada vez que ejecutas el código.
(En realidad, el problema no es el azar sino que seguramente hay factores que uno no tiene en cuenta que pueden estar modificando el resultado.
Pero de eso te dás cuenta cuando estás tranquilo sentado en un sillón, tomando un café y mirando el techo. Y no cuando te corre una gota de sudor frío por la espalda y te preguntás que mierda estaba mal en el tutorial que copypasteaste de un blog de hace dos años)
Sin ánimo de irme por las ramas, y tomo nota mentalmente escribir sobre el tema, el problema de base es que (muchos) aprendemos copiando y no razonando.
Con la excusa de no reinventar la rueda, copiamos, pegamos, anda/no anda, y así por horas. Porque no sabemos siquiera que la rueda es redonda, qué es un círculo ni cómo se calcula su área. Porque lo que necesitamos es que la rueda ruede, y que lo haga rápido.
Pero, volviendo a la locura de esperar algo distinto cuando sólo hay mucho de lo mismo, el tema sigue así.
Alternativamente, he intentado, fallado, logrado y vuelto a fallar en implementar un login con oAuth usando Devise, sin tener la más puta idea de cómo funciona oAuth, todo en la misma tarde.
Naturalmente el error fue mio por encarar una tarea sin saber realmente lo que estaba haciendo, ni lo que implicaba.
Pero ese momento de frenesí, locura, impotencia y la constante sensación de que me cago en mi puta madre. Ese momento no tiene que ver con saber o no de antemano qué ni cómo lo estamos haciendo, ni con la real capacidad para comprender un problema dado, sino con algo más elemental y mundano.
Y es esto:
No podemos hacer lo que no sabemos, y no se sabe lo que no se aprende.
Vamos a darle un momento a la idea para que se asiente. Y vamos a reforzarla.
Copiar algo no es hacerlo.
Y con esto le ponemos el último clavo a la tapa del ataúd.
Se aprende entendiendo.
Preguntar en un foro/lista, leer Stackoverflow, copiar y pegar código sin siquiera leerlo. Eso no resuelve el problema. Lo traslada del editor de texto en blanco a algo de código que se ejecuta cual gato de Schrödinger, que existe en un estado indeterminado de anda/no anda.
Mi papá despreciaba los plumeros porque decía que no limpiaban, sino que trasladaban el polvo de un lugar determinado a todos lados.
Años después, lo entiendo. Y me pregunto si el famoso “tenemos que reescribir la aplicación” que tanto escucho no tiene que ver con eso. Con que se desparramó el polvo por todos lados y ahora todo se siente sucio.
Pero me voy por las ramas.
Hacer algo sin entenderlo y esperar que ande, que no ande y no saber porqué. Que ande y tampoco saber porqué. Son todos síntomas de lo mismo. De creer que se puede aprender algo a la velocidad que toma leerlo de Stackoverflow. No digo que eso no pueda pasar, sólo digo que no aplica a todos los casos, ni a todas las personas.
Por eso, desde este pequeño lugar, digo.
Hay que aprender a hacer las cosas. Y para eso hay que entenderlas primero. Y el conocimiento no es inmediato.
Paciencia.