Buenas tardes.
Soy un programador multidisciplinar (o sea una mierda que ha tocado muchos palos pero ninguno en profundidad y por eso no lo contratan) que ha decidido probar suerte con J2EE.
Estoy inmerso en un curso, ofertado por el paro, de unas 250h en este lenguaje. El profesor que lo da es un auténtico bestia en la materia así que contento.
Contento... en parte la verdad. Estoy viendo que la cantidad de soplapolleces que hay que hacer en J2EE para hacer lo mismo en, por ejemplo, PHP es anormalmente grande. Por no hablar de que tienes que tener un control brutal sobre por donde va el flujo, aprender etiquetas de JSP, etc.
La gran ventaja radica en aquello llamado JPQL, que no es más que un lenguaje que se inventó Java para que independientemente de la base de datos a la que conectemos funcionen todas las consultas. Bravo. Fantástico. Un gran punto a favor... si no fuera porque entonces llegan los frameworks y dicen que no, que se va a usar un SQL que ellos mismos crean, como pasa por ejemplo con Hibernate y su HQL. Con que toda la ventaja inicial se va al traste porque luego tienes que aprender HQL.
La otra gran ventaja es la metodología de trabajo. J2EE te obliga a trabajar en Modelo Vista Controlador, lo que me parece excepcional pero resulta que PHP (por poner un ejemplo claro de competidor en la materia) implementó esa misma metodología de trabajo hace 2 años. Aún así es cierto que está a años luz de la de J2EE, las cosas como son.
Los frameworks que presenta J2EE es el pan nuestro de cada día. O sabes una cantidad decente de ellos o despídete de encontrar curro en esto porque aunque bien podrías hacerte un proyecto web con los Servlets de J2EE no dudes en que te pedirán Struts, Hibernate, Spring, etc.
Estos frameworks se solapan entre si multitud de veces y cada uno tiene sus propias etiquetas para crear formularios, tablas, listas, combos...
Acabo de terminar de ver el framework Java Server Faces (JSF) que potencia las vistas y lo que tu quieras pero que a mi juicio es exactamente lo mismo que Struts solo que peor.
Sinceramente estoy un poco desencantado, tanto por la complejidad que supone con respecto a otras alternativas de trabajo (espero que alguien pueda decirme aquí lo contrario) como por la cantidad de duplicidades y movidas de la plataforma estandar (J2SE) que han decidido clavar aquí. Es como programar en estandar para hacer web. Para mi un verdadero pisto.
Me gustaría saber vuestras opiniones al respecto sobre este lenguaje.