Escríbelo una vez, ejecútalo donde sea... reza la frase más famosa de Java.
Un programa exitoso en Java es un programa sencillo.
A través del paso del tiempo los programadores tendemos a querer hacer cada vez mas complejos los programas que escribimos argumentando complejidad de algoritmia en ellos o bien, porque los estándares y/o métricas exigen mayor cantidad de líneas en el mismo tiempo para la misma funcionalidad.
Desgraciadamente estas métricas de desempeño generan que existan programas más grandes y complejos que resuelven la misma problemática y que incluso debería ser medido de forma inversa. Por lo consiguiente, programadores mas lentos, pues producen menos funcionalidad en una tasa de líneas de código.
Alguna vez alguien dijo, si sigo optimizando este código me quedaré con una línea de código y no me querrán pagar, mejor lo dejó de ésta forma. Algunos dirán, “NO yo escribo menos”, si claro pero usando “framework’s” al final del día le suman al programa muchas mas líneas que las esperadas y el resultado real es que el programa tardará mas en ejecutarse. Los ciclos de reloj parecen insignificantes pero no son gratuitos.
En el otro lado de la moneda existen las complejidades agregadas a los programas por considerar que el uso de patrones (formas de llamar a un modelo, arquitectura, problema, solución, etc.) es la solución a la correcta programación para la solución de un problema, incluso a pesar de generar otros mas. Mientras más patrones tiene mi programa es mucho mejor, incluso en una de esas me podrían llamar Arquitecto por hablar "patronitis" y rellenar mi aplicación sin que hagan falta.
El lenguaje Java es simple, sus componente principales JVM y Garbage Collector no lo son, pero su utilización es transparente para nosotros y por lo tanto súper óptima; siempre que sigamos los lineamientos básicos de estilo, algoritmia y sentido común al momento de programar. Las API´s no son tan sencillas como las anteriores, pero precisamente es lo que le da la robustez a las aplicaciones generadas con ésta tecnología y permite a los programadores la especialización.
Por favor, la próxima vez que generen una sola línea de código, pregúntense ¿Mi programa sigue siendo lo suficientemente simple para resolver de forma elegante y óptima el problema?. Si la respuesta es si, continúen, en caso contrario es tiempo de pensar que la solución aun es más sencilla que lo que parece. Y quizás tome un poco de minutos encontrarlas pero esta justo ahí detrás de una tecla.

