Java y yo

Hace poco he terminado un bonito proyecto en Java. Como yo creo en eso de la educación continua y demás tonterías, pues me he matriculado en la universidad con la esperanza de complementar mi título de física. Hasta ahora, sólo programaba en C++ y en PHP a la hora de hacer páginas web (hace tiempo que todas las páginas que hago usan una base de datos y código para construir lo necesario sobre la marcha, nada de HTML estático para mí). Pues bien, con esto de volver me he tenido que meter con Java y qué descubrimiento. Estoy enamorado. He abandonado definitivamente C++ y PHP.

Ahora sólo Java.

Mientras dure.

A lo que iba. Para la clase de Java (en realidad se llamaba Tecnologías Orientadas a Objetos, pero podemos considerarlo Java nada más) mi proyecto consistía en un buscador en Google de términos médicos, haciendo uso del api que publicaron hace unos meses. El api en cuestión permite realizar búsquedas y algunas cosillas interesantes, pero con algunas limitaciones muy limitantes. Aún así, el mundo está lleno de gente muy lista e ingeniosa y corren algunos ejemplos muy buenos de lo que se puede hacer con esa herramienta.

Sigo. Mi proyecto no se limita a buscar en Google. Lo que hace es buscar primero en un diccionario médico (en inglés), obteniendo una lista de sinónimos, y luego realiza tantas búsquedas como sean necesarias por cada uno de los sinónimos más el término original. El resultado en un árbol en el que cada sinónimo tiene la lista de páginas que Google devuelve como resultado. Por ejemplo, «stroke» ofrece sinónimos como: «cerebral seizure», «Cerebrovascular accident», «aploplexy» o «Apoplectic attack». Opcionalmente, permite exportar el resultado como un archivo XML. La idea es que uno puede no estar buscando por el término más adecuado y que la página que realmente le interesa usa otra palabra para hablar de lo mismo.

Para montarlo todo tuve que usar, aparte de los apis, threads, procesamiento XML y Swing para el interfaz gráfico. Incluyendo mi favorito: patrones.

Además, era preciso presentar diagramas UML del proyecto. De UML no tenía más que muy vagas nociones, pero con ayuda de UML Distilled me fui haciendo una idea y descubrí también los diagramas de secuencia que me parecen simplemente perfectos para entender lo que se supone que está pasando.

Como evidentemente no sabía nada de Java, pero partiendo de C++, aparte de los libros habituales compré también Effective Java de Joshua Bloch. Otro descubrimiento. No es un libro para aprender Java, sino un libro para, no sé cómo decirlo… perfeccionarlo una vez que uno lo ha aprendido. El carácter es casi filosófico, en el sentido de que describe más bien una aproximación vital al lenguaje, la forma de usarlo para sacarle el mejor partido. Está dividido en pequeños capítulos, muy jugosos, que pueden leerse en cualquier orden y que están bien cargados de chicha. El libro perfecto para convertirse en un gurú.

Pues eso, que me lo he pasado pipa este último cuatrimestre. Y que me he convertido en un javero más. Ahora, a por el próximo proyecto.


Deja una respuesta