Simplicidad en java
Publicado por caente en Septiembre 2, 2007
Desde hace tiempo, con el surgimiento y ploriferación de lenguajes como python y ruby, java se ha ido ganando el estigma que una vez tuvo/tiene C++: es demasiado complejo. Pues bien, pienso que la complejidad de java es un mito alimentado por los sonoros y entresijados frameworks como Struts 1.2 o Swing. Que conste que no hago una critica abierta del tipo: “Estos frameworks son una chapucería, yo lo hubiera hecho mejor, pero no tengo tiempo”; no, lo que digo es que en muchos de estos framworks adolecen de una excesiva complejidad, por ejemplo Swing fue construido encima de AWT, y debían mantener la compatibilidad, cuando quizás lo mejor hubiera sido un inicio nuevo con ideas nuevas, pero por supuesto, esto a veces, y en este caso, no vale el costo, recordemos que Swing es desarrollado por Sun.
En el caso de Struts es más claro, ellos se dieron cuenta de que estaban haciendo algo demasiado complejo decidieron cortar por lo sano, o quizás no tanto, y lanzar Struts 2, el cual se basa en POJOS, y dejaron atrás herencias innecesarias.
Pues bien, esta perorata es a causa de mi nueva experiencia con JPOS, un framework para la implementación de la ISO 8583, para transferencias bancarias. Los desarrolladores de este framework sabían que su codigo estaría destinado a empresas con aplicaciones de una fuerte demanda, millones de transacciones al día, y aplicaciones que deben trabajar, como ellos dicen, 24/7; pero además estas aplicaciones deben soportar cambios a su código sin detenerlas nunca, y sin que se afecten los usuarios, que por lo general son bancos.
Obviamente una aplicación de estas características no puede ser excesivamente compleja, pues dejaría de ser mantenible al nivel que se exige, cambios en caliente. Por otra parte debe ser sencillo de implementar el complejo flujo de mensajes que están normados en la ISO. Y debo decir que todo esto se logra magníficamente, al principio es dificil asimilar JPOS, como siempre es difícil asimilar cosas sencillas que gestionan mecanismos complejos, pero una vez asimilado JPOS, se convierte en una herramienta muy poderosa, tanto, que ya he considerado sacarla de su ámbito financiero, a ver que tal me va.