JavaRush /Blog Java /Random-ES /Los mejores libros de Java para principiantes y más (2023...

Los mejores libros de Java para principiantes y más (2023)

Publicado en el grupo Random-ES
Estamos acostumbrados a un acceso rápido a la información y a una absorción igualmente rápida. Preferimos vídeos de cinco minutos a conferencias profundas y artículos breves a libros. No diré que un buen libro sobre programación reemplazará cualquier artículo, no es así. Y ciertamente no reemplazará la práctica. Sin embargo, para mí personalmente, una verdadera comprensión de los conceptos básicos de la programación llegó después de que, después de haber resuelto cientos de problemas en el curso de programación JavaRush y leído un montón de artículos, comencé a estudiar simultáneamente la teoría de los libros y profundicé en ellos. He estado buscando mi "mejor tutorial de Java para principiantes" personal durante bastante tiempo. A continuación se muestran varios libros de Java que me fueron útiles en mayor o menor medida en diferentes etapas de mis estudios.

Libros para principiantes

En esta sección, he recopilado los libros que necesitará para dar sus primeros pasos en el aprendizaje de la programación Java.

1. Head First Java, Kathy Sierra y Bert Bates

Empecé con este libro no porque sea mi favorito, sino porque es el más sencillo. Este libro, según muchos programadores, es el mejor tutorial de Java desde cero. Además, es verdadera y completamente desde cero, es decir, es adecuado para aquellos que recién están comenzando y no entienden del todo qué tipo de programación bestial. Lo admito, me llegó demasiado tarde. Creo que por eso no pude apreciarlo. Fue muy agradable “simplemente leerlo”, pero me llevó mucho tiempo buscar algo específico en él. El material se presenta de manera vívida, pero bastante superficial (¡porque es desde cero!) y muchos temas y explicaciones necesarias simplemente no están ahí. Pero mi amigo, a quien se lo heredó, estaba encantado con él y gritó que este no era sólo el mejor libro de texto de Java para principiantes, sino una obra maestra directa del mundo y así es como se debe presentar el material complejo.

Ventajas:

  • El mejor tutorial de Java desde cero, para principiantes, escrito en un lenguaje vivo.
  • Ilustraciones geniales y humor.
  • Explicación con ejemplos de la vida real.

Defectos:

  • Muchas aguas para los que ya se han adentrado en el tema.
  • No siempre los acertijos y ejercicios son exitosos.

2. Java para principiantes, Barry Bird

Debo admitir que este libro ya me llegó cuando trabajaba como programador. En una versión anterior del artículo sobre libros útiles, me hicieron una pregunta al respecto en los comentarios, y cuando lo vi con un evaluador en el trabajo, decidí echarle un vistazo más de cerca. Java for Dummies de Barry Bird es un libro interesante para principiantes que estén dispuestos a utilizar varios recursos para ayudarles a aprender. Este no es un tutorial para principiantes, sino más bien un primer libro de referencia para Java. Es más eficaz estudiarlo en paralelo con lecciones paso a paso (como en JavaRush) y (¡obligatorio!) consolidar lo aprendido en la práctica de inmediato. A partir de la presentación, reconocí inmediatamente al autor como maestro, ya que en algunos lugares hace paradas en lugares inesperados a primera vista y examina con gran detalle las cuestiones planteadas. Esto no es casualidad: fue en estas preguntas donde sus alumnos tropezaron con mayor frecuencia. Pero algunos temas se tratan superficialmente... Sin embargo, este es un libro para principiantes, no debes esperar profundidad de él. Digamos que los dos primeros capítulos son buenos para principiantes, la programación orientada a objetos (capítulo 3) se estudia mejor en otro libro, pero los capítulos 4 (técnicas de programación avanzadas: explicaciones de cómo usar clases y métodos, inicio de colecciones, subprocesos múltiples, manejo de excepciones) y 5 (consejos para evitar errores) Lo considero muy acertado y útil. Además, Java For Dummies es fácil de leer y está lleno de ejemplos coloridos y divertidos. Se puede leer fácilmente en cualquier lugar del camino o antes de acostarse. Si estás satisfecho con el estilo del autor, claro. Y recuerda: ningún libro en este mundo puede convertirte en un desarrollador de software. Sólo la práctica puede hacerlo. Los mejores libros de Java para principiantes y más (2023) - 1

Ventajas:

  • Lenguaje fácil.
  • Buenos consejos y una buena introducción a varios temas (capítulos 1, 2, 4).
  • Buenos ejemplos.

Defectos:

  • No todos los temas se presentan igual de bien.
  • No a todos les gustará el estilo del autor.

3. Java: fundamentos de programación para principiantes absolutos, Nathan Clark

Otro libro para lectores sin experiencia en programación. Yo diría que su principal ventaja es su naturaleza paso a paso. Explica bastante bien los puntos que suelen causar dificultades a quienes se enfrentan por primera vez a la programación. Aquí aprenderá cómo elegir un IDE y cómo escribir su primer programa. El libro explicará qué son Java Development Kit y Java Runtime Environment y proporcionará ejemplos de cada fragmento de código. Pero... no existe una traducción al ruso de este libro, así que lo recomiendo a quienes saben inglés al menos en el nivel B1. Por cierto, todo desarrollador necesita saber inglés a este nivel, por lo que puedes matar dos pájaros de un tiro aprendiendo Java con un libro en inglés. Hay suficientes libros de este tipo en este artículo. Los mejores libros de Java para principiantes y más (2023) - 2

Ventajas:

  • Una introducción fluida a la programación y las funciones básicas del lenguaje Java.
  • Secuencia de presentación.

Defectos:

  • No existe una explicación detallada del concepto de programación orientada a objetos, por lo que algunos de los ejemplos prácticos pueden resultar confusos.
  • No hay traducción al ruso.

4. Piense en Java: cómo pensar como un informático, Allen Downey y Chris Mayfield

Otro libro interesante disponible en inglés. Como señalan los autores, el objetivo principal del libro es ayudar a los lectores a desarrollar las habilidades de pensamiento necesarias para resolver problemas inherentes a la informática. El libro está destinado a principiantes, por lo que los autores comienzan con los conceptos básicos que pueden entender quienes no tienen experiencia en programación ni conocimientos de Java. Está escrito de forma sencilla y puede resultar útil para estudiantes o personas autodidactas que quieran dominar la programación y desarrollar habilidades de pensamiento algorítmico. Como muchos otros, el libro comienza con una introducción a la programación orientada a objetos. Cada capítulo contiene vocabulario y secciones de ejercicios para reforzar la teoría y dominar las habilidades de programación. Los mejores libros de Java para principiantes y más (2023) - 3

Ventajas:

  • Fácil y agradable de leer.
  • El libro presenta conceptos de programación complejos de una manera accesible y fácil de entender.
  • Ejemplos y ejercicios decentes.

Defectos:

  • Falta de enfoque paso a paso.
  • Es posible que algunos lectores se queden con preguntas después de algunas secciones, ya que no siempre hay una explicación detallada de ciertos temas.

5.Java. Una guía para principiantes, Herbert Schildt

Después de leer este libro de texto, pensé que sería adecuado para aquellos a quienes les gusta una presentación del material más tradicional que en Headfirst, pero que también buscan un tutorial desde cero. En algunos lugares, la presentación del libro es muy detallada y recuerda a una documentación ampliada y traducida con buenos ejemplos visuales. A veces, como para mí, el autor cruza la línea y comienza a masticar demasiado, la lectura se vuelve aburrida... y de repente - da un salto mortal - y casi instantáneamente se pasa por alto algún lugar bastante complejo, y uno se queda completamente desconcertado tratando de entender qué y dónde te lo perdiste. Sin embargo, no hay muchos lugares de este tipo en el libro y conozco personas que creen que la Guía para principiantes es el mejor tutorial de Java para aquellos que aún no saben nada. Personalmente, encontré el libro desigual. Digamos que empiezo a clasificar colecciones y en lugar de una explicación humana, me dan la tarea de crear de forma independiente un Conjunto basado en matrices. Genial problema, pero me gustaría entender mejor qué son las colecciones estándar primero. Aunque este libro, como el anterior, se considera un libro de texto para principiantes, mi experiencia como profesor sugiere que solo es bueno en combinación con otros materiales: para un cambiador de humanidades, no todo será simple y claro. "Una guía para principiantes" es adecuada para alguien que de alguna manera ha estudiado programación (por ejemplo, en la universidad), lo ha abandonado hace mucho tiempo y, al mismo tiempo, le gusta el estilo de presentación del autor. Es especialmente satisfactorio que el libro de texto se actualice constantemente y cubra las características de Java 8, y la edición actual (décima) tiene en cuenta JDK 9 y JDK 10. Los mejores libros de Java para principiantes y más (2023) - 4

Ventajas:

  • Presentación tradicional y reflexiva de los conceptos básicos.
  • Buenos ejemplos.

Defectos:

  • Hay saltos del "demasiado masticado" al "dicho de pasada"
  • Es aburrido en algunos lugares.
Por cierto, Herbert Schildt tiene otro libro famoso sobre programación: "Java. La guía completa". Este es un libro de texto completamente diferente, más fundamental. Pasemos a ello.

Guías para quienes continúan o comienzan de nuevo

Los siguientes libros son los más adecuados para aquellos que ya tienen algunos conocimientos de programación y quieren profundizar un poco más en Java o comenzar a practicar más a fondo. Hay manuales, libros de referencia y tutoriales sobre características nuevas o relativamente nuevas de Java que la gente normalmente no comprende de inmediato, así como libros sobre Android (más precisamente, un libro sobre Android).

6.Java. La guía completa, Herbert Shildt

Lo confieso: una vez descargué este libro de Internet para evaluarlo y luego comprarlo o no comprarlo. No es broma, ¡1300 páginas de texto! Y el precio no es menos impresionante que el volumen. Hice lo mismo con la “Biblioteca profesional” de Kay Horstmann en dos volúmenes (más sobre esto a continuación). De cara al futuro diré que elegí el segundo. ¿Por qué? Porque en el libro Java. La guía completa" Vi las mismas deficiencias que en la "Guía para principiantes". A veces las explicaciones están masticadas, a veces arrugadas, pero al mismo tiempo no sólo están arrugadas, sino que de alguna manera están arrugadas de manera prolija. Quizás este sea el estilo del autor y creo que a alguien le gustará, o mejor dicho, según su pensamiento. En general, Java 8: La guía definitiva es un buen libro de referencia para Java. Pero personalmente, me gustó aún más la presentación de las mismas cosas en otro libro. Los mejores libros de Java para principiantes y más (2023) - 5

Ventajas:

  • Guía completa. Parece que existen todos los temas que un principiante, y no sólo un principiante, necesita saber.
  • Explicaciones detalladas.

Defectos:

  • Mucha agua (¡pero a algunos les puede gustar eso!).
  • La traducción rusa no es la mejor.

7.Java. La biblioteca del profesional, Kay S. Horstmann, Harry Cornell

Los libros de Schildt y Horstmann se comparan a menudo entre sí. Tanto uno como otro cuentan con fieles seguidores. Para mí, el libro de dos volúmenes de Horstmann es el mejor libro de texto sobre Java. Se convirtió en un libro de referencia para mí en los niveles principiante e intermedio de JavaRush. Cuando no entendía un tema, recurría principalmente a Horstmann y él me aclaraba muchas cosas. El libro cubre todo, desde la sintaxis hasta la programación multiproceso, la localización de programas y el trabajo con XML. Y no dejes que el nombre “Biblioteca profesional” te asuste (eso es lo que me asustó a mí), los conceptos básicos están bastante bien cubiertos. Además, es útil releerlo periódicamente para refrescar y organizar tus conocimientos.

Ventajas:

  • Con un sorprendente número de páginas, hay poca agua (a diferencia de Schildt).
  • Contiene todo lo que los principiantes necesitan.
  • Expande Java 8, tiene en cuenta los cambios en JDK 9, 10 y 11.
  • Buena presentación de temas sobre colecciones y genéricos.
  • Combina bien con JavaRush. Vaya al tema, resuelva los problemas, tarde o temprano no comprenda algo: observe a Horstmann, inténtelo de nuevo.

Defectos:

  • Algunos pueden encontrar el libro seco.
  • Sin práctica.
  • Traducción rusa con errores.

8. Java 8 en acción: Lambdas, Streams y programación de estilo funcional

Con la octava versión, llegaron al mundo de Java nuevas funcionalidades tan importantes y diferentes a las anteriores que es recomendable estudiar estos temas por separado de todo lo demás. Además: hasta ahora no ha habido ninguna actualización de idioma más importante. Entonces, ante nosotros está Java 8 en acción, un interesante libro de texto sobre Java 8. Es importante señalar de inmediato que está diseñado para aquellos que ya conocen los conceptos básicos de Java "simplemente". Lo que hace que este libro sea tan bueno es que tiene muchos problemas de práctica variados y útiles. Los ejemplos incluyen ejemplos de código "correcto" e "incorrecto". Lo principal es no confundir.

Ventajas:

  • Orientado a la práctica.
  • Muestra la diferencia entre código correcto e incorrecto.

Defectos:

  • Se requieren recursos adicionales para obtener una comprensión más profunda de los fundamentos de Java.

9. Core Java para impacientes (tercera edición) o Java SE 9. Curso básico, Kay Horstmann

En el original, este libro se llama Core Java para impacientes, es decir, "Java Core para impacientes". No sé por qué esto no se incluyó en la traducción. En mi opinión, esto ayudaría a que el libro no se pierda entre sus pares. Hay una traducción de la segunda edición del libro en ruso y ya hay una tercera edición en inglés, actualizada a Java 17. El libro está organizado como una referencia rápida y es muy conveniente utilizarlo para encontrar la respuesta a una pregunta específica si has olvidado algo o has programado previamente en otros idiomas. Lo que me gustó especialmente es que los textos son muy breves, esencialmente sin masticar ni agua. El libro proporciona una buena descripción de expresiones lambda, flujos de entrada/salida y módulos. Sin embargo, este libro no explicará qué es una variable o un bucle. Pero además, como ya he mencionado, existen estructuras fundamentales, colecciones, anotaciones, genéricos, registros, subprocesos múltiples: todo con lo que trabajará en la práctica. Francamente, me gusta mucho este libro, e incluso ahora lo miro de vez en cuando. Sólo recuerde que este libro no es adecuado para quienes no saben nada de programación. Es más probable para aquellos que ya han estudiado algún otro lenguaje o el mismo Java, pero durante mucho tiempo y no del todo.

Ventajas:

  • Bloques cortos de información. Todo va al grano.
  • No hay temas innecesarios.
  • Una muy buena selección de temas actuales para que los estudien los programadores principiantes de Java.
  • Ejemplos exitosos.

Defectos:

  • El libro no es adecuado para quienes empiezan a aprender programación desde cero.

10.Java. Manual del desarrollador, Benjamin J. Evans, David Flanagan

Un buen libro de referencia universal, una alternativa a los libros de Horstmann. Contiene información útil tanto para principiantes como para desarrolladores de Java que continúan sumergiéndose en la programación. La última edición en el momento de escribir esta frase (séptima) se basa en Java 11. El libro no es largo, hay muchos ejemplos, se analizan la API de Java y las mejores prácticas de desarrollo. El libro es fácil de leer y gracias a él podrás aprender los conceptos básicos del lenguaje, técnicas de programación útiles e incluso nuevas tendencias en Java.

Ventajas:

  • Breve y buen resumen.
  • Hay todo lo que un programador novato necesita.
  • Buena descripción de las herramientas modernas.
  • Ejemplos exitosos.

Defectos:

  • No siempre existe una traducción adecuada de la terminología al ruso.

11. El sistema de módulos Java, Nikolay Parlog

Este libro está disponible en inglés y ruso. Es una guía muy detallada del sistema modular Java. El autor sostiene que es mucho más fácil crear una aplicación confiable y segura si el código está empaquetado en bloques ordenados. Los módulos en Java son una herramienta relativamente nueva, los cambios arquitectónicos fundamentales han afectado al núcleo de Java solo desde la versión 9. Y aunque cada vez hay más proyectos con módulos, hay personas que están acostumbradas a trabajar a la antigua usanza y no saben nada sobre estos. innovaciones interesantes. Después de leer este libro, comprenderá cómo monitorear cómo interactúan los diferentes archivos JAR y encontrar fácilmente las dependencias faltantes. Si se toma en serio los proyectos modulares de Java o necesita aprender módulos para trabajar, consulte este libro.

Ventajas:

  • La descripción más completa de las ventajas del sistema modular.
  • Excelentes ejemplos y estrategias para migrar a módulos.

Defectos:

  • Tiene pocas descripciones sintácticas, lo que resulta difícil para los principiantes.

12. Java moderno en acción: Lambdas, flujos, programación funcional y reactiva

Aunque Java existe desde hace muchos años, el lenguaje adquiere constantemente nuevas capacidades. Por supuesto, todos somos humanos y los programadores a veces ignoran las nuevas características y enfoques y se muestran reacios a implementarlos en proyectos Java. Libros como Modern Java in Action están diseñados para ayudar a resolver este problema. Esta guía cubre en detalle los temas que se tratan con mayor frecuencia en capacitaciones breves con mentores. Permítanme señalar que, por lo general, este tipo de capacitación dura de 1 a 3 días y la información que contiene está muy concentrada. Así que los programadores novatos simplemente se ahogan en nueva información y no la asimilan. Y este libro lo llevará paso a paso desde expresiones lambda hasta referencias de métodos, interfaces funcionales y subprocesos, y si puede resolverlo con cuidado.

Ventajas:

  • Este libro contiene todas las características modernas de Java, por lo que es muy útil.
  • Presentación consistente de conceptos complejos.
  • Los autores comparan las nuevas tendencias con las tradicionales. Por lo tanto, este libro puede recomendarse incluso a principiantes.

Defectos:

  • Para aquellos que ya saben algo sobre el tema, el libro puede parecer un poco prolijo.

13. Dirigir el primer desarrollo de Android

Java es el idioma nativo de Android. Por ello, una de las opciones más populares para iniciarse en el desarrollo de aplicaciones en este lenguaje es crear una aplicación para Android. Este libro (hay una traducción al ruso "Programación Head First para Android") es otro de la serie Head First. Entonces los rasgos familiares de la serie son bastante inherentes a este manual. Es decir, aquí encontrarás muchas imágenes, un estilo sencillo, una gran cantidad de ejercicios sin ahondar seriamente en la esencia. Esto significa que si desea comprender completamente el desarrollo de aplicaciones de Android, es posible que deba realizar una investigación adicional y profundizar en las fuentes. Pero si quieres empezar rápidamente a programar este sistema, este es el lugar para ti.

Ventajas:

  • Estilo sencillo, imágenes, diversas tareas y ejercicios de proyectos que pueden involucrar activamente al lector en el proceso de aprendizaje.
  • Simplicidad y accesibilidad: los autores intentan explicar conceptos complejos en términos simples, haciéndolos más fáciles de entender para los principiantes.

Defectos:

  • Obsolescencia: Los rápidos cambios en la tecnología en el mundo de la programación y Android pueden hacer que el libro ya no contenga los enfoques y herramientas actuales.
  • Algunos temas se tratan de manera demasiado superficial.

14. Aprender Java: Introducción a la programación del mundo real con Java

Debo decir de inmediato que este libro no está destinado a principiantes. Lo necesitará si conoce Core Java al menos en un nivel básico y puede escribir aplicaciones sencillas. Si es así, este libro le ayudará a comprender los diversos conceptos complejos del lenguaje Java y le explicará cómo todas estas clases, bibliotecas, expresiones lambda, entrada/salida, etc. se utilizan en la programación industrial real. El libro se basa en versiones modernas de Java y contiene ejemplos bastante simples pero útiles para el trabajo real. La última sección habla sobre el uso de Java directamente para aplicaciones y servidores web, algo que no se ve a menudo en los libros. Por cierto, este libro también existe en la versión rusa (“Programación en Java”, Mark Loy).

Ventajas:

  • Versiones modernas de Java.
  • Ejemplos de aplicaciones y servidores web.

Defectos:

  • Difícil para principiantes.

Clásico atemporal

Los libros sobre los que escribo a continuación pueden denominarse textos sagrados para principiantes y javistas intermedios.

15. Java eficaz, Joshua Bloch

Es un tesoro, no un libro, y se centra en los principios básicos del lenguaje de uno de sus autores, Joshua Bloch. Lo más probable es que ya haya utilizado sus bibliotecas (en la Colección Java, por ejemplo). Haré una reserva de inmediato: los principiantes completos, a excepción de algunos corredores de velocidad prodigios, no necesitan el libro Effective Java. Primero, es mejor dominar la sintaxis y tener al menos algo de práctica en programación, por así decirlo, entenderlo y luego asumir la creación de Joshua Bloch. El libro será útil para aquellos que quieran comprender verdaderamente Java, adoptar el enfoque correcto al programar en este lenguaje y comprender no solo cómo hacerlo, sino todo lo que debe hacerse exactamente de esa manera. Y también para aquellos que quieran comprender profundamente la programación orientada a objetos (en principio, son cosas interrelacionadas). Este libro es el mejor libro de texto sobre Java en el contexto del enfoque de programación orientado a objetos.

Ventajas:

  • Una brillante presentación de material sobre el tema de la POO.
  • Se proporcionan las mejores prácticas de programación.
  • El autor conoce muy bien Java desde dentro.

Defectos:

  • Difícil para principiantes.

16. Filosofía Java, Bruce Eckel

El título de este libro habla por sí solo. ¡Este es otro alfa y omega para todos los que quieran conocer Java! En este libro encontrará ejemplos buenos y claros, y a partir de ellos quedará claro cómo funciona Java. Es difícil para mí decir cuál de los dos libros, "La Filosofía de Java" o "Programación Efectiva", es mejor. Yo diría que Eckel es algo más amigable con los principiantes, mientras que Bloch requiere algo de experiencia. Leí el capítulo de "Filosofía Java" por primera vez cuando estaba empezando a aprender JavaRush (creo que figuraba como recomendado en uno de los primeros niveles). Entonces ella no me convenía. Pero después del nivel 10 o 12, ¡era una canción! Y, diré, una canción muy útil. Volví a ello más tarde, cuando llegué a Programación Efectiva. Diré esto: dejemos que Bloch y Eckel hablen de lo mismo, pero de diferentes maneras, y den diferentes ejemplos.

Ventajas:

  • Una presentación detallada de los principios de Java por parte de un profesional.
  • Será bueno para aquellos que estén cambiando de otros lenguajes; existen muchas comparaciones con C++, por ejemplo.
  • Me parece que puedes empezar a leerlo en el nivel 10, pero Eckel, un poco más tarde.

Defectos:

  • Muy malas traducciones al ruso.

Libros de programación general

Los siguientes libros no están directamente relacionados con Java, pero serán útiles para el desarrollador principiante, ya que ayudan a desarrollar el pensamiento de un programador y a comprender cómo funciona una computadora, los principios y conceptos fundamentales de la programación, qué es el código limpio y cómo escribirlo. él.

17. Problemas clásicos de informática en Java

Este libro de David Kopec se puede traducir como "Problemas clásicos de la informática en Java". Y está destinado tanto a desarrolladores experimentados como a aquellos principiantes que conocen un lenguaje de programación y ya están empezando a afrontar problemas del mundo real. O para aquellos que estén interesados ​​en tareas no estándar para desarrollar el pensamiento de programador. O para aquellos que quieran mejorar sus habilidades y obtener buenos resultados en las entrevistas. Algunas tareas parecen insuperables, pero el mundo de la programación es más pequeño de lo que parece. Lo más probable es que alguien ya haya resuelto su problema insoluble. En su libro, David Kopec recopiló las soluciones, principios y algoritmos más útiles. Problemas clásicos de informática contiene 55 ejemplos prácticos que cubren los temas más actuales: algoritmos básicos, restricciones, inteligencia artificial, etc. Temas principales del libro:
  • Recursión, memorización y manipulación de bits.
  • Búsqueda, gráfica y algoritmos genéticos.
  • Clustering (método k-means), redes neuronales y búsqueda competitiva.
  • Ventajas:

    • Todos los algoritmos útiles y sus enfoques en un solo libro.
    • Ejemplos en Java.

    Defectos:

    • Algunos ejemplos son difíciles de entender para los principiantes.

    18. Head First Aprende a codificar por Eric Freeman

    Ya he mencionado los libros Head First dos veces en este artículo. ¡Aquí está el tercero! Este, como todos los libros de la serie, está escrito para principiantes absolutos y está dedicado a la programación como tal. Si se ha encontrado con la serie antes, cuando abra este libro, reconocerá fácilmente el estilo característico de Head First. Recomiendo este libro si necesita ayuda con conceptos clave de programación de una manera divertida y fácil de entender.

    Ventajas:

    • Proporciona una comprensión general de la programación.

    Defectos:

    • Utiliza ejemplos en Python (ya que se considera el lenguaje más sencillo para principiantes).

    19. Código limpio, Robert S. Martin

    Un programador novato no presta mucha atención al estilo de su código. Está mucho más centrado en combatir los errores. Sin embargo, mejorar su estilo es muy importante para su trabajo potencial: es muy difícil trabajar con una persona que no sigue un código limpio en proyectos. Su código es difícil de leer y mantener. Este libro le mostrará la diferencia entre código bueno y malo y le enseñará las reglas básicas para escribir código limpio y legible utilizando las mejores prácticas. Pregúntele a un profesional y es muy probable que recomiende este libro a todos los aspirantes a desarrolladores.

    Ventajas:

    • Buenos ejemplos y consejos para crear código legible.
    • Uno de los pocos libros de este tipo.

    Defectos:

    • El autor es a veces demasiado escrupuloso.

    20. Código: el lenguaje secreto de la informática, Charles Petzold

    Este libro se puede recomendar tanto a un escolar interesado en las computadoras como a un programador con muchos años de experiencia que quiera comprender mejor la informática. Me encontré con la versión rusa de este libro en la escuela secundaria y me inspiré mucho. Incluso explica el diseño de circuitos usando ejemplos muy simples, y todo comienza con gallinas y una linterna básica. El autor cubre una amplia gama de temas como electricidad, circuitos, relés, sistemas binarios, lógica, puertas, microprocesadores, códigos y otros para comprender gradualmente cómo funciona la tecnología informática. Después de leer este libro, comprenderá qué hay detrás de los píxeles de su escritorio y qué sucede cada vez que usa sus dispositivos.

    Ventajas:

    • Sumérgete en el nivel más bajo de hardware.

    Defectos:

    • A veces la inmersión es demasiado profunda :)

    21. Descifrando la entrevista sobre codificación, Gail Laakmann McDowell

    Este es un libro muy interesante para aquellos que planean buscar trabajo como desarrollador de software en un futuro próximo. Contiene una amplia gama de preguntas prácticas y soluciones que le pueden plantear durante una entrevista. Por supuesto, todo fluye, todo cambia. Y las tendencias en las “pruebas” de desarrolladores están cambiando. Sin embargo, este libro ayudará al novato a comprender qué esperar de la entrevista. Sin embargo, recomiendo repasar este conocimiento en foros y comunidades Java.

    Ventajas:

    • Preparación para entrevistas de programación del mundo real.

    Defectos:

    • No ayudará sin fuentes adicionales.

    Algoritmos y estructuras de datos.

    El conocimiento de los algoritmos ayuda a resolver problemas de desarrollo de software de manera eficiente y óptima. Saber cómo elegir las estructuras de datos adecuadas ayuda a mejorar el rendimiento, reducir los costos de memoria y proporcionar programas más estables y eficientes. Y, sin embargo, es necesario conocerlos al menos para pasar las entrevistas. A continuación se muestran algunos libros útiles.

    22. Algoritmos de balanceo, Aditya Bhargava

    Un libro muy interesante y bastante sencillo sobre los conceptos básicos de los algoritmos. Explica algoritmos populares como la clasificación y la búsqueda en forma gráfica. Son libros como este los que te ayudan a comprender la belleza y la complejidad de los algoritmos y a amarlos con todo tu corazón. El libro tiene muchas imágenes: el autor prefiere un enfoque visual a las explicaciones. El libro está dividido en secciones breves con varios ejemplos para garantizar que la nueva información se absorba en las proporciones adecuadas.

    Ventajas:

    • Buenas explicaciones con gráficos.
    • Interesante sobre el complejo.

    Defectos:

    • Ejemplos en Python.

    23. Introducción a los algoritmos, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein

    Introducción a los algoritmos (título en ruso “Algoritmos: construcción y análisis”) es un libro muy exitoso sobre algoritmos para quienes gustan de una presentación coherente y exhaustiva del material. Todos los ejemplos del libro están escritos en el llamado pseudocódigo, es decir, no en un lenguaje de programación real, sino en uno sintético, intuitivamente comprensible para todos. Aunque el libro se presenta como una "introducción a los algoritmos", los temas tratados son muy amplios y los conceptos de estructuras de datos y algoritmos se explican bastante bien.
    • Clasificación: un estudio detallado de varios algoritmos de clasificación, como clasificación por inserción, clasificación por intercambio, clasificación rápida, clasificación por fusión, etc.
    • Búsqueda: búsqueda hacia adelante, búsqueda hacia atrás, búsqueda binaria y otras.
    • Árboles: árboles binarios, árboles rojo-negro, árboles AVL y otros.
    • Gráficos: recorrido de gráficos, búsqueda de ruta más corta, árbol de esqueleto mínimo, etc.
    • Programación dinámica.
    Pero el libro también tiene sus defectos. En mi opinión, la Introducción se centra demasiado en el aspecto teórico de los algoritmos, pero a veces carece de detalles sobre su implementación práctica. El original está escrito en un inglés bastante sencillo (¡recomiendo la versión en inglés!).

    Ventajas:

    • Una excelente presentación teórica de los algoritmos más importantes de clasificación, búsqueda, árboles y gráficos.
    • Inglés fácil.

    Defectos:

    • No hay suficiente práctica, céntrese en los aspectos teóricos del tema.

    24. Piense en estructuras de datos: algoritmos y recuperación de información en Java (Allen B. Downey)

    Esta es una guía útil para utilizar estructuras de datos en programación con ejemplos en Java. El libro se centra en la práctica, lo que le ayuda a comprender rápidamente cómo implementar y utilizar algoritmos y estructuras de datos en programas reales. El autor explica conceptos complejos de algoritmos y estructuras de datos de una manera accesible y comprensible, por lo que si tiene al menos habilidades básicas de programación, este libro es adecuado para usted. Cada sección contiene una introducción al tema, ejemplos, explicaciones adicionales y ejercicios para consolidar la teoría. Lo que es especialmente bueno es que cada capítulo contiene problemas de diseño que permiten a los lectores aplicar lo que aprenden para crear sus propias implementaciones de algoritmos y estructuras de datos.

    Ventajas:

    • Material conciso con ejemplos útiles.
    • Disponibilidad de tareas del proyecto.

    Defectos:

    • Puede resultar un poco difícil para los principiantes.
    • No todos los temas se tratan con la misma profundidad.

    25. Algoritmos, Robert Sedgewick, Kevin Wayne

    Uno de los libros más famosos sobre programación, escrito por verdaderos expertos en su campo, que han criado a más de una generación de ingenieros de software. Si no le intimida una presentación académica exhaustiva y una inmersión total en el tema, si está preparado para comprender verdaderamente los algoritmos y analizarlos de una vez por todas, estudie este libro. Es una buena opción para estudiantes, profesores y desarrolladores. Sin embargo, para los principiantes, puede llevar más tiempo y esfuerzo comprender bien el material del libro. Los autores combinan con éxito la teoría con ejemplos prácticos en Java, lo que facilita a los lectores la comprensión de conceptos complejos.

    Ventajas:

    • Presentación clara y completa.
    • Muchos ejemplos en Java.
    • Variedad de temas: el libro cubre casi todo lo que necesita saber sobre algoritmos.

    Defectos:

    • Excesiva presentación académica.
    • Puede resultar difícil estudiar el libro por tu cuenta sin el apoyo y la ayuda adecuados.
    Comentarios
    TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
    GO TO FULL VERSION