Original article: Must-read books to learn Java programming

Hola a todos, hoy en día es el mundo de los cursos en línea. Todo el mundo habla de aprender en línea, Youtube, cursos gratuitos en Coursera y otros sitios web, lo cual es excelente, como cursos en línea pueden ayudar a aprender más rápido, pero creo que los libros aún deben ser una parte importante de su aprendizaje, ya que brindan el conocimiento más profundo y, a menudo, escrito por la autoridad en el tema.

Si estás aprendiendo programación Java, prepárese para conocer algunos de los libros más increíbles para aprender y dominar la programación Java en este artículo.

Cada vez que un programador comienza a aprender el lenguaje de programación Java, la primera pregunta que hacen es: "¿Qué libro debo consultar para aprender Java?" o “¿Cuál es el mejor libro para aprender Java para principiantes?” o “¿Puedes decirme algunos buenos libros para aprender Java?” Eso, en sí mismo, dice lo importante que son los libros de Java para los programadores, especialmente los principiantes.

A pesar de tener tantos recursos gratuitos disponibles en Java, como tutoriales, cursos en línea, consejos, blogs y ejemplos de código, los libros de Java tienen su propio lugar porque:

  • Están escritos por programadores que son una autoridad en el tema.
  • Cubren el tema con más detalles y explicaciones.

Estos libros de Java son mis favoritos personales, y cada vez que tengo tiempo, prefiero leerlos para refrescar mis conocimientos. Aunque ya he leído muchos de ellos (he leído Effective Java al menos cuatro veces hasta ahora), siempre quiero aprender algo nuevo y mi búsqueda de grandes libros nunca termina.

Estos libros son algunos de los mejores disponibles en la actualidad y son igualmente útiles para programadores de Java principiantes, intermedios y avanzados.

No importa si eres completamente nuevo en Java o si ha estado programando en Java durante algún tiempo, aprenderás muchas cosas nuevas a través de estos libros.

Habiendo dicho eso, no todos los libros son igualmente adecuados para todos los programadores. Para los principiantes, Head First Java sigue siendo el mejor libro para empezar, y para el desarrollador avanzado de Java, Effective Java es un buen libro para empezar.

Los 10 Mejores Libros para Aprender a Programar en Java

Aquí está mi colección de libros de Java que sugiero a todos los programadores que quieran aprender Java. Contiene libros para programadores principiantes y experimentados.

Estos libros cubren una variedad de áreas, incluidos los fundamentos básicos de Java, el framework de colección de Java, subprocesos múltiples y concurrencia, ajustes internos y de rendimiento de JVM, patrones de diseño, etc.

1. Head First Java

Mucha gente pensará que este es un libro anticuado, pero para ser honesto, Head First Java es el mejor libro para cualquier programador que sea nuevo tanto en programación como en Java. La manera de explicar de cabeza es fenomenal y realmente disfruté su libro.

Head First Java cubre el conocimiento esencial de programación Java sobre características de clase, objeto, subproceso, colección y lenguaje, como genéricos, enumeraciones, argumentos variables o auto-boxing.

También tienen una sección avanzada sobre Swing, redes y Java IO, lo que los convierte en un paquete completo para principiantes de Java. Este debería ser el primer libro de Java que veas si estás empezando desde cero.

51aHYpRqWvL._AC_SY1000_

Descargo de responsabilidad: recibiré una compensación si utilizas cualquier enlace de los libros enumerados aquí desde Amazon.

2. Head First Design Patterns

El Head First Design Pattern es otro libro de Java de primera clase del laboratorio de Head-First.

Cuando comencé a leer este libro en 2006, no pensé mucho en los patrones de diseño, cómo resuelven problemas comunes, cómo aplicar un patrón de diseño, qué beneficios brindan y todo tipo de cosas básicas. Pero después de leer este libro de Java, me he beneficiado inmensamente.

El primer capítulo sobre herencia y composición, que es simplemente fantástico y promueve prácticas mejoradas al presentar un problema y luego la solución.

61APhXCksuL._AC_SY1000_

Este libro también contiene viñetas útiles, ejercicios y mapas de memoria, que lo ayudan a comprender los patrones de diseño rápidamente.

Si desea aprender los patrones de diseño básicos de Java y los principios de diseño orientado a objetos, este es el primer libro de Java que debe consultar.

Una buena noticia sobre este libro es que la nueva edición se actualizó para Java SE 8, que le enseñará cómo desarrollar un patrón de diseño GOF clásico utilizando características de Java 8, como expresiones lambda y secuencias.

3. Effective Java

Effective Java es uno de los mejores libros de Java en mi historial y uno de los más agradables. Tengo un gran respeto por Joshua Bloch, el autor, por su contribución al framework de la colección Java y al paquete Java Concurrency.

Effective Java es mejor para un programador experimentado que esté bien versado en la programación de Java. Es excelente para los programadores que desean compartir sus habilidades siguiendo las mejores prácticas de programación y que están ansiosos por escuchar a alguien que contribuyó al kit de desarrollo de Java (JDK).

51N7QPvhS9L._AC_SY1000_

Effective Java consiste de una colección de las mejores prácticas de programación de Java, que van desde fábricas estáticas, serialización, igualdad y código hash hasta genéricos, enumeraciones, varargs y reflexión.

Este libro de programación Java cubre casi todos los aspectos de Java de una manera ligeramente diferente a la que está acostumbrado.

El año pasado se lanzó una nueva edición que introdujo funciones en JDK 7, 8 y 9, que se lanzó el año pasado en septiembre. También tiene un capítulo completo sobre lambdas.

4. Java Concurrency in Practice

Java Concurrency in Practice es otro clásico de Joshua Bloch, Doug Lea y su equipo. Este es el mejor libro de Java sobre simultaneidad y subprocesos múltiples: una de las lecturas obligadas para los desarrolladores principales de Java.

Los puntos fuertes de la práctica de concurrencia en Java incluyen:

1) Este libro es muy detallado y captura detalles menores de subprocesos múltiples y concurrencia.

2) En lugar de centrarse en las clases básicas de Java, este libro se centra en las cuestiones y los problemas de concurrencia, como interbloqueo, inanición, seguridad de subprocesos, condiciones de carrera, y presenta formas de resolverlos utilizando clases de concurrencia de Java.

Este libro es un recurso excelente para aprender y dominar los paquetes y clases de concurrencia de Java, como CountDownLatch, CyclicBarrier, BlockingQueue o Semaphore. Esta es la principal razón por la que me gusta leer este libro de Java y leerlo una y otra vez.

51v9-FC4MDL

3) Otro punto fuerte de la práctica de concurrencia en Java son los ejemplos sensatos; los ejemplos de este libro son claros, concisos e inteligentes.

4) Este libro también es bueno para explicar lo que está mal y por qué está mal y cómo corregirlo, lo cual es esencial para que cualquier libro de Java tenga éxito.

En resumen, este es uno de los mejores libros para aprender concurrencia y subprocesos múltiples en Java. El contenido definitivamente es avanzado desde la perspectiva de un principiante, pero seguramente, este es un libro de lectura obligada para los programadores Java experimentados.

5. Java Generics and Collections

The Java Generics and Collection de Naftalin y Philip Wadler de O'Reilly es otro buen libro sobre Java, que inicialmente olvidé incluir en mi lista pero lo incluyo ahora a pedido de muchos lectores.

Me gusta este libro por su contenido sobre genéricos y colecciones, que son áreas centrales del lenguaje Java.

Se espera que un programador experimentado tenga un conocimiento sólido de las colecciones y los genéricos de Java, y estos libros ayudan en esa área.

41fJocDi3LL._AC_SY780_

Explica cada interfaz de colección, como Conjunto, Lista, Mapa, Cola, y su implementación, comparando qué tan bien funcionan en una situación diferente.

Realmente me encantó su tabla de comparación al final de cada capítulo, que le brinda una buena idea sobre cuándo usar una clase de colección de Java en particular, como ArrayList, HashMap o LinkedHashMap.

6. Java Performance From Binu John

Este es otro buen libro que enseña sobre los aspectos internos de JVM, la recolección de basura, el ajuste de JVM y la creación de perfiles. etc., y recomiendo encarecidamente a todos los desarrolladores senior de Java que lean este libro. Este es también uno de mis favoritos personales.

Como nos estamos moviendo gradualmente, comenzamos desde un nivel de principiantes hasta un nivel intermedio y ahora el nivel superior.

Java Performance tiene que ver con la supervisión del rendimiento, la creación de perfiles y las herramientas utilizadas para la supervisión del rendimiento de Java.

Este no es un libro de programación habitual. En su lugar, proporciona detalles sobre la JVM, la recolección de basura, la supervisión del almacenamiento dinámico de Java y la aplicación de generación de perfiles.

Me encantó su capítulo sobre la descripción general de JVM, y es una lectura obligada para obtener más información sobre JVM en un lenguaje sencillo.

Tanto los principiantes como los programadores intermedios pueden beneficiarse de este libro, pero es bueno tener algo de experiencia en Java antes de leerlo. Hasta ahora, este es el mejor libro de Java sobre monitoreo del rendimiento.

Este es otro libro de Java que debe leer si se toma en serio el rendimiento.

Hay un par de libros nuevos disponibles en Java, que cubren JDK 1.7. Para conocer el último libro sobre el rendimiento de Java, como Java Performance, The Definitive Guide de Scott Oaks, que sin duda vale la pena consultar antes de comprar este libro.

Java-Performance-Definitive-Guide

7. Java Puzzlers

Java Puzzlers es otro libro que vale la pena leer de Joshua Bloch, esta vez con Neal Gafter. Este libro trata sobre casos extremos y trampas en el lenguaje de programación Java.

Java es más seguro que C++, y la JVM hace un buen trabajo para liberar al programador de la asignación y desasignación de memoria propensa a errores. Pero aún así, Java tiene casos de esquina que pueden sorprender incluso al programador Java experimentado.

Unknown

Este libro de Java presenta estos peligros de Java y los explica con más detalle. Este es un buen libro de Java si le encantan los acertijos; incluso puede incluir muchos de estos en las entrevistas básicas de Java para verificar su conocimiento de Java.

No lo califico tan alto como Effective Java y Java Concurrency in Practice, pero aún puede intentarlo, especialmente para verificar su conocimiento sobre Java y sus casos de esquina, lo que lo ayudará a responder algunas de las preguntas difíciles de Java de entrevistas.

Para entender la mayor parte de este libro de Java, intente resolver acertijos usted mismo y luego busque explicaciones para que su conocimiento sea más concreto.

8. Head First Object-Oriented Analysis and Design

Otro buen libro sobre principios de diseño y programación Java de la serie Head-First. Head First Object-Oriented Analysis and Design se puede leer junto con Head First Design Patterns.

Este libro se enfoca en los principios del diseño orientado a objetos, como favorecer la composición sobre la herencia, la programación para el interfaz en lugar de la implementación, DRY, etc.

51FNFnkTMKL

Una parte de aprender Java es escribir un buen código y seguir las mejores prácticas, y este libro es excelente para educar a los programadores sobre ellas.

El conocimiento obtenido con este libro es aplicable a muchos lenguajes de programación orientados a objetos y, en general, mejorará su comprensión del código y los principios de diseño de programación orientada a objetos.

9. Thinking in Java

Thinking in Java está escrito por Bruce Eckel, quien también es el autor de Thinking in C++ y usa su estilo único para enseñar el concepto de Java.

Muchos estarían de acuerdo en que este es uno de los mejores libros de Java, con una fortaleza que apunta a ejemplos inteligentes. Este es uno de los libros completos en Java y también puede usarse como referencia.

Hay un capítulo sobre IO mapeada en memoria de Java de Thinking in Java, que es mi favorito.

61-ZAFCWcLL._AC_SY1000_

Si no le gusta el estilo de enseñanza Head-First, pero necesita un libro de Java para principiantes con un estilo de ejemplo simple, Thinking in Java es una buena opción.

Es detallado, maduro y se actualiza con frecuencia, pero, si necesita más opciones, también puede consultar estos libros básicos de Java para principiantes.

10. Java SE 8 for the Really Impatient

Este es uno de los mejores libros para aprender Java 8. También es mi libro Java 8 de propósito general. Si tienes menos tiempo y quieres aprender todas las cosas importantes sobre Java 8, este es el libro que debes consultar.

No tengo que recordarte de la habilidad de escribir de Cay. S. Horstmann’s, uno de los mejores autores en Java y a la altura de Joshua Bloch. He encontrado que ambos son muy legibles.

No te aburrirás, lo que suelen hacer los programadores cuando leen libros técnicos. Explica sobre la expresión lambda, Streams, interfaz funcional, referencias de métodos, nueva API de fecha y hora de Java y varias otras pequeñas mejoras como unir cadenas, anotaciones repetibles, etc. En resumen, uno de los mejores libros para aprender Java sin duda.

51zveYV7hGL._AC_SY780_

Terminando

Esta fue mi lista de los mejores libros de programación Java. He leído todos los libros, algunos de ellos todavía los estoy leyendo y un par de ellos, como Effective Java y la serie Head-First, los he leído un par de veces. Muchos programadores me preguntan con qué libros deberían comenzar y qué libro de Java deberían leer ahora. Espero que hayas encontrado buenos libros en esta colección. ¡Feliz lectura!

Notas finales

Gracias por leer este artículo hasta ahora. Puede que estés pensando que hay tantas cosas que aprender, tantos cursos a los que unirte, pero no tienes que preocuparte.

Soy un fanático particular de los cursos de Udemy, ya que son muy asequibles y brindan muchos valores en una cantidad muy pequeña, pero eres libre de elegir el curso que deseas.

Al final del día, debe tener suficiente conocimiento y experiencia al usar los recursos mencionados aquí.

¡Buena suerte con tu viaje por Java! Ciertamente no va a ser fácil, pero siguiendo esta hoja de ruta y guía, está un paso más cerca de convertirse en el desarrollador de Java que siempre quiso ser.

Si te gusta este artículo, considera seguirme en medium (javinpaul). Si desea recibir notificaciones de cada publicación nueva, ¡no olvide seguir a javarevisited en Twitter!

Una vez más, todo lo mejor para su viaje de desarrollo de Java y muchas gracias a todos los autores por escribir libros tan increíbles. Estos libros de programación de Java son algunos de los mejores libros para aprender Java; incluso diría que algunos de ellos son los mejores libros de Java jamás publicados.