7 Libros para aprender Java por tu cuenta

Java sigue siendo el lenguaje de programación más extendido del mundo, un poco por delante de C y ganando por mucho a opciones como Python o VisualBasic .NET. Por este motivo y por la facilidad de aprender a programar de una forma versátil y completa, es un lenguaje recomendable para aprender si quieres meterte en esto de de la programación.

Actualizado el 12 de Junio de 2019, a partir del original de Julio de 2018.

Si no puedes asistir a clase, eres de los que prefiere estudiar por su cuenta o quieres reciclarte aprendiendo un nuevo lenguaje de programación, aquí tienes un lista de libros recomendados, de acuerdo a tres objetivos fundamentales:

  • Aprender la sintaxis de Java, que consiste en saber cómo se escriben programas en este lenguaje.
  • Aprender a programar en Java, que es el complicado arte de resolver problemas, en este caso usando Java.
  • Consolidar lo anterior y sacarte la certificación oficial de Oracle por libre, convirtiéndolo en un tanto a tu favor para buscar o mejorar empleo.

Si encuentras alguno de ellos interesante, no los cojas todos de golpe. Léelos de forma progresiva, empezando por comprender las bases del lenguaje, aprendiendo luego algunos aspectos específicos y, al cabo de unos meses de práctica, rematando todo con el estudio de la certificación.

Teniendo en cuenta que los recursos que necesitas para aprender Java, el compilador y un entorno de desarrollo integrado como NetBeans, son gratuitos, puedes aprender y certificarte en un periodo razonable (de 6 a 9 meses) con una inversión de unos 150 €, más las tasas del examen. Otro día te comentaré los detalles de la certificación y cómo prepararla.


Head First Java, 2nd Edition

Un libro para empezar realmente desde cero, tanto en conocimientos de programación como del propio lenguaje Java. La serie «Head First» de O’Reilly siempre me ha gustado por tres motivos: primero, son muy didácticas, con un lenguaje fácil de entender y lleno de ejemplos; segundo, explican las cosas de forma asequible, con ilustraciones, gráficos y todo lo necesario para entender cada concepto; y tercero, son rigurosas, lo anterior no está reñido con la calidad del texto.

Este libro no es una excepción y, aunque es un poco antiguo y no incluye las novedades de las últimas ediciones de Java, es perfecto para dar tus primeros pasos con el lenguaje. Además, los autores han contemplado desde el principio una aproximación totalmente orientada a objetos y es de los pocos libros que incluye diagramas UML como recurso didáctico. Vamos… casi perfecto.

ISBN: 978-0596009205


Java Programming for Begginners

Si quieres algo más actualizado que lo anterior, Java Programming for Beginners puede ser una buena opción. Es un libro reciente, con poco más de año y medio en el mercado y cubre todos los aspectos básicos del lenguaje y alguno más, como el uso de XML para el intercambio de datos.

Algunos podrán protestar diciendo que JSON es más moderno y tiene más utilidad, pero estamos hablando de un libro de fundamentos y aprender los conceptos de una estructura de datos formal, como las proporcionadas por XML, me parece más interesante para alguien que aprende que lanzarse de lleno a por trucos Web que, además, no podrías usar ya que toda la programación de servidores corresponde a J2EE y eso es una parte más avanzada del lenguaje.

ISBN: 978-1788296298


Data Structures and Algorithms in Java, 2nd Edition

Algo que echo en falta en casi todos los cursos de Java es una base sólida de estructuras de datos. Las estructuras son las distintas formas en las que puedes organizar la información en memoria para conseguir lo que necesitas. Por ejemplo: ¿cómo haces un índice para encontrar la palabra que buscas en un texto? ¿Cómo haces una lista para ir agregando todos los contactos de una agenda? ¿Cómo organizas la información para aprovechar la memoria cuando tienes que manipular cantidades ingentes de datos?

Todas estas preguntas y muchas más se resuelven aprendiendo estructuras de datos y este libro es uno de los mejores para aprender. Sí, tiene más de 15 años y son 800 páginas. De hecho, es un texto universitario, pero tiene ejemplos de código en Java y es algo que sólo tienes que aprender una vez y te servirá para cualquier lenguaje de programación.

ISBN: 978-0672324536


Head First Design Patterns

Otro libro con casi 15 años de antigüedad, e igualmente otro libro que considero imprescindible para aprender a programar bien. Los patrones de diseño son problemas habituales y soluciones genéricas que pueden aplicarse con cualquier lenguaje orientado a objetos, recogidos en un libro que ya he comentado en otra ocasión, Design Patterns. Así, por ejemplo, el patrón Modelo-Vista-Controlador (uno de los más conocidos) nos dice cómo hay que estructurar el código cuando quieres programar una aplicación con interfaz gráfica.

Todo lo bueno que he dicho del otro libro de la serie Head First se aplica a éste y, aunque no incluye TODOS los patrones, precisamente por eso, por su orientación didáctica y por tener ejemplos de código en Java, me parece un buen libro para aprender.

ISBN: 978-0596007126


Effective Java, 3rd Edition

Si los libros anteriores servían para aprender los fundamentos del lenguaje, éste es para meterse en conceptos más avanzados y adquirir buenos hábitos de programación. En su tercera edición, el libro de Joshua Bloch puede confundirte al principio con ese diseño de portada claramente pasado de moda. Pero no te confundas, porque es un texto muy actualizado que incluye igualmente temas básicos, como la gestión de variables locales o la definición de métodos, como avanzados, como anotaciones o expresiones lambda.

El libro no sigue un orden lineal, sino que se compone de una serie de capítulos monográficos que recogen un montón de trucos y buenas prácticas. El consenso es generalizado y, desde hace años, está considerado uno de los mejores textos sobre Java.

ISBN: 978-0134685991


Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808

Cuando hayas aprendido todo lo anterior y tengas unos meses de práctica, lo suyo es presentarse al examen de certificación y obtener un reconocimiento a los conocimientos adquiridos. El examen para obtener el título de Oracle Certified Associate en su octava edición tiene el código 1Z0-808 y es, actualmente, uno de los dos caminos curriculares que mantiene la propia Oracle.

El libro es muy completo y todo el mundo habla bien de él, aunque tiene bastantes erratas, por lo que te recomiendo que lo compres nuevo y te asegures, de esa forma, que es de la segunda tirada de impresión en la que corrigieron unos cuantos. De todas formas, tienes una lista completa en la página Web del autor.

ISBN: 978-1118957400


Java EE 7: The Big Picture

Respecto a la primera edición de esta lista, del año 2018, he cambiado uno de los libros de certificación en Java, al quedar obsoleta la séptima edición del lenguaje, y he introducido éste sobre la parte de programación Web. Ha sido difícil encontrar un libro recomendable por muchos motivos: primero, por la enorme variedad de librerías y alternativas; segundo, por la competencia que plantean otros lenguajes; y tercero, por la dificultad de los conceptos. Si entender la orientación a objetos lleva tiempo, la programación distribuida es aún más compleja.

Por todo esto me he decantado por un libro que, en teoría, no es el más profundo, el más técnico ni el más detallado, pero sí uno de los que mejor pueden ayudarte a comprender el problema en general. A partir de aquí ya tendrás que decidir por dónde encaminas tus pasos y sigues creciendo como programador.

ISBN: 978-0071837347

Nota: está página contiene enlaces de afiliación a la página web de Amazon. Mi recomendación de usar esta librería no está basada en la comisión, sino en el hecho de que puedes encontrar ofertas para comprar casi todos los libros de segunda mano, lo que puede reducir considerablemente los costes de formación.