Luisete

De profesión sus labores

  • Aumentar fuente
  • Fuente predeterminada
  • Disminuir fuente
Home Informática De la complejidad

De la complejidad

E-mail Imprimir PDF

Esto que voy a hacer se llama "Recitar" porque voy a citar a un ponente (Alfredo Casado) que a su vez citó a una investigadora llamda Pamela Rave que dijo :

 "The purpose of software engineering is to control complexity, not to create it."

 ¿ Hacía falta decir semejante perogrullada ? Pues parece que sí porque a veces parece que se nos está yendo la olla.

A uno le gusta asistir a conferencias donde dicen lo que piensa. Parece que hemos perdido mucho tiempo haciendo más complejo el desarrollo de software innecesariamente. Al cabo de los años vamos cayendo del guindo poco a poco.

 Primero vino Struts a decirnos que éramos unos gañanes por hacer las aplicaciones en Java en vez de escribirlas en un enorme fichero XML. Años después nos venden nuevos paradigmas que  dicen que son un avance porque eliminan la complejidad de struts y vuelven a la esencia de Java.

Lo mismo nos ha pasado con Spring. La inyección de dependencias está muy bien para lo que está pero se llegó a la locura colectiva cuando al consultar una aplicación había que revolver y revolver entre ficheros XML para encontrar una línea de código en Java. Ahora el propio Spring viene a decirnos que están mucho mejor las anotaciones que los ficheros XML y que todo va a ser mucho más sencillo y razonable. A buenas horas mangas verdes,. Por cierto, llegará el momento en el que caigamos del otro guindo y reconozcamos el abuso de las anotaciones.e

Esto del XML y las anotaciones Java me recuerda muchísimo al antipatrón "Golden Hammer" del cual me declaro adicto, y que me parece que todos los informáticos lo somos. Este antipatrón viene a decir (con mis palabras) que no debemos utilizar una solución para todas las cosas. Que es muy habitual creer que un patrón de diseño es válido para todas las situaciones y lo usamos absurdamente. Sospecho que el uso de XML se ha convertido en un Golden Hammer y que las anotaciones de Java5 van camino de lo mismo.

Se dice en muchos foros que XML no es un lenguaje pensado para humanos. Hay una palabra que viene a expresarlo muy bien. Es muy "Verboso". Está lleno de elementos sintácticos que son molestos para el ser humano. Aún así el XML se han creado aplicaciones que tienen más código XML que código Java.

¿ Pero qué pasa con el código Java ? ¿ Porqué siempre se dice que algo es bueno cuando no hay que escribir ó recompilar código Java ? El código Java es buenísimos si se compara con otros tantos enjendros que se han creado para evitarlo.

Los servicios Web SOAP han sido el objeto de la conferencia a la que asistí hoy y que terminó de confirmar mis sospechas conspiranóicas. ¿ Por qué todo tiene que ser tan complicado ? Pues bien, después de habernos convertido a todos a la religión de los servicios web resulta que se inventa REST y todos lo acogemos como a quien nos quita un puñal de la espalda porque viene a simplifcarnos la vida.

Todo esto me hace preguntarme qué nos ha pasado los últimos años. A veces pienso que ha sido una conspiración creada por los propios ingenieros para que el desarrollo de aplicaciones no perdiera valor. Se trataba de hacerlo cada vez más complejo para obtener los mismos resultados.

Hoy mismo , Ignacio Coloma un ponente de las conferencias decía algo muy ilustrativo. Decía que él venía de desarollar aplicaciones de escritorio con Spring y que el paso a desarrollar aplicaciones web no le supuso mucho trauma porque los requisitos disminuyeron drásticamente. Ya nadie quería que las columnas de una tabla se pudieran cambiar de orden ni redimensionar, parecía que el usuario asumía mánsamente la pérdida de funcionalidad. A pesar de ello, las aplicaciones eran cada vez más costosas.

Pero algo está cambiando. Veo brotes verdes por todas partes. Muchos incorformistas se atreven a opinar. De repente hay gente que hace Frameworks que declaran en el titular que evitan MVC. Son unos valientes, pero cada vez somos más los que buscamos la simplicidad. Groovy es otro elemento emegente, la convención sobre configuración, las anotaciones Java, etc, etc, son todo ejemplos que tienden a mejorar las cosas por la vía de la simplificación. Ahora los anunciantes se atreven a decir la palabra "Simple" en sus descripciones.

Menos mal que esto  no es un blog y que los lectores no pueden opinar. Así me quedo pensando que todo el mundo está deacuerdo conmigo.

 

 

 

 

 

LAST_UPDATED2