Programando con Python, Java y Angular.

Autor: Damián Aguilar
twitter
- Creado el 22/05/2022
y Actualizado el 03/07/2022
programacion php python angular java

Toda mi carrera como programador, la he basado en el desarrollo con PHP, centrándome en los últimos años en el desarrollo con Laravel. En este artículo voy a hablar de como ha sido la experiencia de salirse de la zona de confort y enfrentarse a nuevos retos, con nuevos lenguajes de programación.

Python

Hace cosa de un año, necesité integrar un pequeño script en Phyton en un proyecto Laravel. Decidí que era un buen momento para aprender a programar en Python, y decidí tomarme dos semanas de tiempo para sumergirme en la experiencia. La verdad es que solo puedo hablar cosas buenas de Phyton. Me pareció un lenguaje muy intuitivo y sencillo, sobre todo si ya dispones de una buena base de programación orientada a objetos. En cualquier caso, es un lenguaje al que mantengo vigilado y al que espero poder volver pronto.

Después de aquello, surgió la oportunidad de trabajar en una empresa multinacional del mundo de la programación. Una de esas empresas que aparecen en las primeras posiciones en los rankings de empresas en las que trabajar. Me pareció una experiencia muy interesante, y encima me ofrecieron la opción de participar en dos Bootcamps, uno basado en Java y otro en Angular. No había trabajado nunca con estos lenguajes, y me ofrecieron formación durante la jornada laboral... lo cual me parecío genial.

Java

Empecemos por Java... no se ha convertido en mi lenguaje favorito. Quizas el problema es que el ecosistema de desarrollo, en este caso Spring y Spring boot, no eran demasiado intuitivos. Tengo la impresión de que al venir de Laravel, cualquier otro framework siempre va a parecer más complejo y sobre todo, poco claro. Parecía interminable la cantidad de cosas que había que configurar, que si archivos XML, que si las librerías, las anotaciones, los getter y setters, y lo complejo que es todo el tema de gestión de modelos y bases de datos...

En resumen, he aprendido a gestionar el backend de un servicio mediante Java, pero no es algo que escogería de forma voluntaria como primera opción para un proyecto. A modo de anécdota, pregunté en la empresa por qué se optaba siempre por Java para el backend, y al final la respuesta era: "es lo que pide el cliente"...

Angular

Angular me pareció más interesante. Venía de trabajar con VueJS, y al fin de cuentas, para mi fue más asequible que Java. Lo primero que me llamó la atención fue que utilizara TypScript. Nunca lo había usado, y admito que fue un gran descubrimiento. Una vez termine el Bootcamp me pasé cerca de cuatro meses desarrollando una libería en TypeScript desde cero, para utilizarla con Angular, y admito que fue una experiencia genial, y sobre todo, aprendí muchísimo.

En cuanto a Angular, no terminó de gustarme del todo, sobre todo por lo encorsetado que está... intentar generar estructuras dependientes unas de otras, era una pesadilla, y básicamente se limitaba a clase padre y clase hijo, y como vincularlas entre sí. Cuando querías hacer algo más complejo, tenías que buscarte la vida para implementar algo parecido a lo que tenías en mente... pero sin terminar de conseguirlo...

En general, es un buen framework, pero creo que React es mucho mejor, incluso VueJS es mucho mejor si sólo tenemos que gestionar el front-end.

Como punto final, decir que la experiencia de haber trabajado en una empresa importate del sector, ha sido en general muy positiva, y me he llevado muchas enseñanzas importantes, sobre todo, en cuanto a trabajo en equipo, y lo complejo que es a veces gestionar un proyecto. Por ejemplo, en uno de los proyectos que trabajé, mi equipo sólo trabajaba con Angular (si, yo trabajando toda la vida en back-end, termine en front-end), y no teníamos acceso al back-end, por lo que a veces era casi más complicado intentar adivinar como funcionaba un sistema que añadir la funcionalidad que había pedido el cliente... En fin, cosas que pasan cuando se divide el trabajo en equipos.