Sunday, March 26, 2017

Giro hacia los números: La modularización

Resultan muy interesantes los ejercicios donde bajo el enunciado se encuentra la solución pero se omite el desarrollo. Tuve hace no mucho, dentro de una práctica de Física que hubiera sido imposible abordar sin ayuda de compañeros que sabían mucho más que yo, un ejercicio al que, tras darle un par de vueltas, le acabé "inventando" un procedimiento de resolución. Funcionaba, pero era completamente erróneo por extrapolar trigonometría a una tercera dimensión con planos curvos. Tan convencido estaba de haber alcanzado el Grial, que incluso logré persuadir a algún compañero de que mi desarrollo era el correcto. Es lo que tiene saber algo de retórica, que te conviertes en un buen vendedor si te apetece. Finalmente llegó un licenciado en Matemáticas y, aunque le costó bajarme del burro, acabó barriendo el suelo con mi cabeza. Obviamente y a pesar de que mis resultados académicos no pueden calificarse de malos, él aprobó esta asignatura y yo no.
Esto me hace reflexionar sobre la asombrosa capacidad del ser humano de unir dos puntos distantes con una línea inventada, ignorando los evidentes obstáculos (Entre los cuales el mayor de todos es la ignorancia obcecada) y también me hace ver como inalcanzables ciertas demostraciones, convencido como estoy de que, si no hubiera sido expuesto a tantos libros de Filosofía y Ciencia, me habría inventado mis propias explicaciones para el Universo, y hubieran sido coherentes, ya me habría obligado a ello, pero lejanas a la realidad de las cosas.
Admiro cada vez más a aquellos que son capaces de explicar algo y acertar, porque para mi pobre cabeza, cuanto más quiero avanzar, más me parecen mis pobres saberes cascarones vacíos.
El centro del problema, si puedo tener razón esta vez, es la incapacidad de la mayoría de nosotros de modularizar correctamente. Voy a poner un ejemplo sobre re-modularización iterativa, algo que me aleja de mis objetivos y que me ha obligado a intentar sacarme la Ingeniería, para ver si soy capaz de sustituir mi falta de ciencia con mi memoria para las recetas:
Imaginaros una aplicación en la que tenéis funciones, varias bases de datos de distinto tipo y una interfaz gráfica. Hoy sé que existe el patrón vista-controlador y lo aplico siempre que puedo pero, en su momento, enfrentado a un problema así, la cuestión sobre cómo distribuir cada función, como conectar cada dato y, sobre todo, dónde ubicar todo para que encaje, me hubiera llevado a inventar un orden. Digo por experiencia que hubiera sido un muy mal orden, que a la larga habría sido insostenible, críptico, inconsistente y puede que no exhaustivo. Una parte del arte de modularizar se puede aprender, porque es una cuestión que recorre la literatura especializada. Pero ante un problema nuevo y recogiendo la división que la filosofía de la ciencia hace entre el ingeniero y el manitas, soy el que le quita las pelusas a la lavadora con medio culo al aire y se considera un experto por saber soldar.