Otro libro más y una reflexión sobre objetos

Acabo de recibir otro libro de Amazon.com (Cómo me gustaría que hubiese un Amazon.es. Hace unos años corrió el rumor de que así iba a ser, y fui tan tonto como para hacerme ilusiones. Por desgracia, no era cierto. Aparentemente los informadores no comprende que hay una diferencia entre registrar un dominio y querer hacer algo con ese dominio). Se trata de Pattern Hatching. Design Patterns Applied de John Vlissides, uno de los miembros de la famosa Banda de los Cuatro (autores de Design Patterns un libro extraordinario). No he tenido tiempo más que de echarle un vistazo rápido, pero parece muy interesante.

Mientras tanto, yo sigo con Refactoring. Está francamente bien, sobre todo porque va desgranando formas concretas de hacer refactoring, y, sobre todo, cuándo no hacerlo, en una especie de catálogo con instrucciones concretas (tanto en código como en diagramas de clases). Algunas de las soluciones que ofrece son triviales para cualquiera que haya programado un poco con objetos, aunque supongo que son triviales en el sentido de que toda ciencia es trivial, es decir, lo es una vez que alguien lo dice por primera vez (o debería serlo, ésa es la naturaleza del conocimiento científico). Otras de las soluciones me resultan muy interesantes y me han hecho reflexionar sobre la ventaja de programar con objetos.

Es decir, intuitivamente sé por qué me gusta hacerlo así. Simplemente programar con objetos me deja una sensación de claridad intelectual que no tenía cuando programaba en C (o Fortran, o Pascal, o ?Dios, lo que tenía que hacer uno en física- ensamblador). Si está bien hecho ?y supongo que eso es lo difícil- parece más correcto.

Pero hay personas que opinan que la POO es fundamentalmente errónea porque no se deberían mezclar datos con las funciones para manipularlos. Opinan que son dos cosas completamente diferentes. Yo no creo que sea así. Simplemente porque opino que los datos carecen de interés. Me explico. A uno rara vez le interesan los datos en sí mismo. Una secuencia cualesquiera de números, tal como: 4, 9, 16, 25, 36… no dice nada. ¿Qué son esos números? ¿Temperaturas? ¿Euros? Saber qué miden esos números nos ayudaría más. Pero saber que son el resultado de aplicar la fórmula y=x2 es mucho más interesante (supongo que aquí se nota mucho que estudié física, que tengo cierto aprecio por las fórmulas por encima de la realidad). Realmente no nos interesan los datos sino la información que podemos extraer de esos datos. Y la información no es más que procesar datos para obtener algo que realmente nos sea útil.

Racionalmente, yo lo veo así: la programación orientada a objetos nos permite olvidarnos de los datos y de su manipulación, eso ya se habrá definido en su momento, y nos permite concentrarnos en convertirlo todo ese conjunto en información, que realmente es lo que queremos. Si tengo una clase Empleado no quiero tener que preocuparme de qué tipo de empleado es para calcular su sueldo con sus posibles bonificaciones y demás zarandajas, esa decisión se tomará en función de ciertos datos que realmente no me interesan. Lo que realmente quiero es tener un método getSueldo() que me dé la información que quiero realizando los cálculos que sean oportunos sin que yo tenga que conocerlos. Ya le daré los datos, lo cual es molesto, pero que luego no me incordie más de lo debido.

Para mí, ése es uno de los grandes beneficios. Llegado a cierto nivel, y si todo se ha construido bien, me permite olvidarme de lo que no interesa y concentrarme en lo que realmente deseo. O al menos, así lo veo yo.

—–

Continuar leyendoOtro libro más y una reflexión sobre objetos

La música de las esferas

Ediciones B va a publicar algo realmente original. Se trata de la novela Celestial Matters de Richard Garfinkle. Una primera novela con un argumento más que curioso:

Mil años después de la muerte de Alejandro, a los 70 años y en la cumbre de su poder, la Liga de Delos, comandada por Atenas y Esparta, ha conquistado el mundo. Las ciudades griegas se extienden por toda la tierra uniendo a todas las razas. La Academia, expurgada de todo platonismo por Aristóteles, ha conocido un desarrollo científico extraordinario, confirmando todas las ideas del estagirita y Tolomeo, y ayuda activamente en el proceso bélico. La generación espontánea permite la producción de comida en el frente de batalla y el conocimiento exacto de las propiedades de los cuatro elemento y la música de las esferas permite que las naves aéreas no sólo dominen los cielos de la Tierra sino que también se aventuren hasta Selene y más allá. Sólo hay un problema, el Imperio Chino, con su misteriosa ciencia taoísta totalmente incomprensible para los griegos y basada en extraños conceptos y corrientes, se resiste a la conquista y la guerra amenaza ya con hacerse eterna. Pero los jefes de la Liga han concebido un plan genial: una nave aérea viajará hasta la esfera de Helios, el sol, y robará algo de su sustancia para arrojarla sobre la capital del Imperio Chino y acabar así con la guerra. Cosa que los chinos, por supuesto, no están dispuestos a consentir.

La leí hace unos años y me gustó mucho (aunque, claro, al tratarse de una primera novela, es algo desigual). El comentario completo que escribí en su momento está aquí.

Continuar leyendoLa música de las esferas