JavaRush /Blog Java /Random-ES /Los 10 mejores libros de programación para principiantes
Max Stern
Nivel 35
Нижний Новгород

Los 10 mejores libros de programación para principiantes

Publicado en el grupo Random-ES
Tengo un colega que ha realizado muchas entrevistas técnicas para futuros javaistas. Una vez le pregunté qué influye en la decisión de contratar a un candidato sin experiencia real al elegir entre personas con habilidades lingüísticas aproximadamente iguales. Dada la situación del mercado, creo que esta pregunta es relevante para muchos de ustedes. Los 10 mejores libros sobre programación para principiantes - 1“Pasión por la tecnología, capacidad de elegir la mejor opción para resolver un problema, erudición general en TI, comprensión de lo que le espera en el trabajo”, esta fue su respuesta. Una vez describí en un artículo los libros de programación para principiantes que me ayudaron a aprender Java. En este artículo, me centraré en publicaciones que ayudarán a un programador novato a adquirir esa misma erudición en TI, comprensión del trabajo futuro y también a simplificar la tarea de elegir la mejor solución. Es decir, conseguir un trabajo y desempeñarse lo mejor posible en él desde el primer momento. Compilé esta lista según mis propias preferencias, por lo que puede ser algo subjetiva. Hay tanto libros de texto de programación clásicos para estudiantes como libros de referencia para programadores de todas las generaciones.

Mejorando el código y la productividad

No basta con escribir código. Es importante redactarlo bien, poder mejorarlo y también entender cómo se desarrolla en general. Los siguientes libros para programadores principiantes y otros han ayudado a más de una generación de especialistas a afrontar el difícil proceso tecnológico del desarrollo de software.

Programador pragmático. De oficial a maestro (Andrew Hunt, David Thomas)

Título original: The Programmatic Programmer from From Journeyman to Master de Andrew Hunt y David Thomas Los 10 mejores libros sobre programación para principiantes - 2Si no ha leído este libro, lo más probable es que haya encontrado repetidamente citas del mismo en foros y recursos especializados. La imagen de un programador pragmático en este libro es tan clara e idealizada que... uno puede llamarlo romántico, por paradójico que pueda parecer. Sin embargo, los consejos del libro son prácticos y relevantes, a pesar de su avanzada edad. No sé con qué comparar “El programador pragmático” en el mundo de los libros de programación. Los análogos más cercanos fuera de este mundo son el “Antiguo Testamento” o algún libro de cocina genial. En "Pragmática" todo es muy específico y de máxima aplicación en la práctica. A veces llega al punto de la banalidad (por ejemplo, la sección sobre comunicación efectiva contiene reglas básicas de etiqueta comercial), pero a veces los consejos del libro son insustituibles, especialmente si un desarrollador novato no tiene un mentor paciente y atento. Estos son consejos sobre la repetibilidad del código, la creación de prototipos y la estimación. O un recordatorio de la imposibilidad de crear un programa perfecto. También hay puntos técnicos útiles relacionados, por ejemplo, con la depuración de código, las pruebas unitarias o la velocidad de los algoritmos… en definitiva, lo que necesitas para prepararte para una carrera como programador.

Refactorización y mejora del código existente (Martin Fowler)

Título original: Refactoring: Improving the Design of Existing Code por Martin Fowler, con Kent Beck Los 10 mejores libros sobre programación para principiantes - 3Si le pide a alguien que enumere los mejores libros de programación de todos los tiempos para impulsar su carrera, seguramente alguien mencionará "Refactoring". Alguien puede decir que este libro está desactualizado y en algunos aspectos tendrá razón. Fue escrito en una época en la que la refactorización aún no era una regla universal, y algunas de sus verdades son obvias para los aspirantes a programadores de hoy. Sin embargo, las técnicas de refactorización se describen tan bien y en detalle (en algunos lugares, incluso diría detalladamente) que cada principiante encontrará algo útil en él. Hace unos años salió una edición actualizada del libro y se agregaron nuevas técnicas, lo cual es genial. Además, los ejemplos de este libro están escritos en Java. El único inconveniente que puedo mencionar es la verbosidad. Aun así recomiendo el libro.

Código limpio (Robert Martin)

Título original Clean Code: A Handbook of Agile Software Craftsmanship de Robert C. Martin Los 10 mejores libros sobre programación para principiantes - 4Este libro, aunque más novedoso que el anterior, también se ha convertido en un clásico de los libros sobre programación. El "tío Bob", como a veces se llama a Robert Martin en la comunidad de programación global, es uno de los autores del manifiesto Agile, así como de algunos de los principios de la programación "pura" moderna, por ejemplo, SOLID. Uno de los principales leitmotiv del libro puede considerarse... la empatía o simplemente una buena actitud hacia todos los que tendrán que trabajar con su código (incluido usted mismo en el futuro). La mayoría de las reglas del “Código Limpio” se basan en este principio simple y en el sentido común. La mayoría de las reglas y consejos parecen muy correctos, de esos que intuitivamente dan vueltas en la cabeza, pero no es fácil formularlos con claridad. Sin embargo, se pueden discutir algunas de las ideas del autor: a veces es extremadamente categórico. Por ejemplo, escribe que un buen código no necesita comentarios. Sin embargo, el libro es una lectura obligada.

Trabajar eficazmente con código heredado (Michael Feathers)

Título original Trabajar eficazmente con código heredado por Michael Feathers Los 10 mejores libros sobre programación para principiantes - 5La vida no te preparó para esto... No, de verdad: si recién estás aprendiendo, no puedes imaginar lo doloroso que es trabajar con bases de código heredadas, que Probablemente fueron escritos por el abuelo de Bill Gates. Este código a menudo está escrito de manera completamente diferente a lo que estás acostumbrado y está tan mal documentado que a veces quieres encontrar a su autor y... Desgraciadamente: la vida de un programador Java en grandes proyectos a menudo se asocia con soporte heredado. Este libro puede ayudarle con los aspectos técnicos del trabajo con código antiguo, pero también puede ayudarle a aceptar su destino. Y sí, lo digo en serio. Este libro le resultará útil si tiene la vista puesta firmemente en una empresa de subcontratación o de productos con grandes proyectos.

Cabeza primero. Patrones de diseño (Eric Freeman, Bert Bates, Kathy Sierra, Elizabeth Robson)

Título original Head First Design Patterns: A Brain-Friendly Guide por Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson Los Los 10 mejores libros sobre programación para principiantes - 6patrones de diseño son esas reglas lógicas de buena forma que, si no las estudias con el tiempo, te vendrán a la mente ( o no...) y que literalmente se convierten en el superpoder de un programador novato si empiezas a mirarlos lo antes posible. Sí, al principio es útil jugar con un proyecto personal relativamente complejo e intentar dividirlo en subtareas tú mismo... y eventualmente encontrar el mismo patrón. Sin embargo, cuando se trata de trabajo, no siempre hay tiempo suficiente para experimentar. Cuando obtuve la pasantía, sabía muy poco sobre patrones: mientras estudiaba en JavaRush, simplemente me salté todas estas fábricas, singletons, inyecciones, dependencias, pensando que lo resolvería cuando fuera necesario. Sin embargo, fue necesario resolverlo muy rápidamente, y fue el libro “La cabeza primero”. Patrones de diseño” me ayudó con esto. Está escrito con facilidad, está lleno de ilustraciones y humor... Creo que la presentación del tema “patrones de diseño” es muy importante: se puede presentar de una manera muy aburrida o como en Head First. ¡Una gran adición a “Código limpio” y/o “Refactorización”!

Arquitectura de Computadores e Informática General

¿Qué importancia tiene para un futuro programador comprender la arquitectura de las computadoras, saber cómo están estructurados los sistemas operativos y cómo se estructuran las bases de datos? No es un hecho que este conocimiento le resulte útil en su trabajo. Pero definitivamente lo ayudarán a demostrar su pasión por el campo de TI y su conocimiento de TI. Y lo más importante: saber cómo funciona todo te ayudará a resolver mejor los problemas. Información 100%. Así que aquí tienes dos libros más que te ayudarán.

Código (Charles Petzold)

Título original Código: El lenguaje oculto del hardware y software informático de Charles Petzold Los 10 mejores libros sobre programación para principiantes - 7La primera edición de "Código" vio el mundo a principios de la década de 2000, pero en realidad podría haber aparecido antes o después y seguiría siendo relevante. El caso es que en este libro se explica el funcionamiento de una computadora a un nivel muy, muy bajo, empezando por cómo funcionan esos mismos ceros y unos, y el primer ejemplo técnico es el circuito de una linterna, que puede considerarse el más simple. Computadora de bits... No, no creas que todo en el libro es muy primitivo. De hecho, exactamente lo contrario... Describe los circuitos de las computadoras, con los comandos, el funcionamiento de la memoria y los sistemas operativos en su esencia. Quizás fue después de leerlo que entendí cómo funcionan las computadoras. Aunque la arquitectura y el conjunto de instrucciones del procesador cambian y el ancho de banda de la memoria aumenta, en esencia las computadoras funcionan exactamente igual. ¿Un programador de Java necesita este conocimiento? Muy pocas personas los necesitarán directamente en su trabajo. Pero indirectamente, a menudo me ayudó en mi trabajo el hecho de que entendí cómo funciona todo realmente.

Introducción a la informática (Glenn Brookshire, Dennis Brilov)

Título original Computer Science: An Overview de Glen Brookshear y Dennis Brylow Los 10 mejores libros sobre programación para principiantes - 8Este libro me llegó en la universidad, cuando estaba estudiando los conceptos básicos de la informática. Sólo recibí una traducción de la sexta edición, y actualmente está vigente la 13ª edición. El libro es un curso básico de informática que se ha impartido en universidades de Estados Unidos y otros países durante muchos años. La cobertura del material que contiene es muy amplia: arquitectura de máquinas, sistemas numéricos, procesamiento de datos, sistemas operativos, principios de construcción de bases de datos, estructuras de datos, estructuras de archivos, etc. No todas las secciones del libro están escritas igual de bien. Por ejemplo, una vez me confundieron mucho las secciones sobre métodos de diseño y bases de datos, pero las secciones sobre sistemas numéricos, cálculos bit a bit, arquitectura de PC y estructuras de datos realmente me impactaron. Lo mejor del libro es la gran cantidad de ejercicios con claves. Además de los estudiantes, un libro de este tipo probablemente lo necesiten principalmente personas autodidactas sin educación técnica para llenar los vacíos y tener una idea de la informática en general.

Algoritmos y estructuras de datos. ¡Y otro ataque más!

Dado el alto nivel que se ha vuelto la programación moderna, el conocimiento de los algoritmos se ha vuelto menos importante. Ahora es suficiente usar la biblioteca requerida y no devanarse los sesos sobre cuál es la mejor manera de ordenar la matriz. Sin embargo, todavía tendrás que devanarte los sesos en el trabajo, y más de una vez. ¿Recuerda el punto "la capacidad de elegir la mejor solución posible" de los requisitos para un programador novato? Entonces, no importa lo que digan, considero que un buen entrenamiento algorítmico es una excelente mejora para encontrar soluciones óptimas. Por lo tanto, los dos libros siguientes tratan sobre ellos. Sobre algoritmos.

Estamos sacudiendo los algoritmos. Una guía ilustrada para programadores y curiosos Aditya Bhargava

Título original: Algoritmos de Grokking: una guía ilustrada para programadores y otras personas curiosas de Aditya Y. Bhargava. Los 10 mejores libros de programación para principiantes - 9El propio autor escribe al principio del libro que los algoritmos no le llegaron de inmediato y trató de escribir "Algoritmos de Grokking" para que fuera fácil de leer. Está diseñado para programadores novatos, es decir, aquellos que pueden escribir “hola, mundo” y saber qué son int, string, loop, branch y array. Bueno, puede mostrar la matriz en la pantalla. El conocimiento requerido de matemáticas se encuentra aproximadamente en el nivel de 6 a 7 grados de la escuela secundaria sin lujos. Y esta es la primera ventaja importante del libro. No intenta imaginar al lector como un estudiante de matemáticas, como lo hacen muchas publicaciones sobre el tema. Es decir, si tienes miedo de las matemáticas, de los algoritmos, ya has intentado aprender estos últimos y no has entendido nada, este libro es perfecto para tu rehabilitación ante tus propios ojos. El segundo punto positivo es que el libro analiza algo que bien puede resultar útil en la práctica (entender esto es ciertamente cierto). Comienza con una explicación de la esencia de la búsqueda binaria y su eficiencia, literalmente con los dedos y con muchas imágenes. En tercer lugar, el libro contiene muchas preguntas y ejercicios (los ejemplos de código están en Python, pero esto no es tan importante). Un punto que puede ser positivo para algunos, pero negativo para otros: el libro no pretende ser una obra de consulta exhaustiva. Digamos que de los algoritmos de estudio generalmente aceptados, aquí solo hay dos: el algoritmo de inserción ineficiente y el algoritmo de clasificación rápida eficiente. No sé por qué el autor no debería considerar otros algoritmos, por ejemplo, de burbuja o de fusión. De hecho, el algoritmo de fusión se menciona en el libro, pero brevemente, sin análisis y sólo en comparación con la clasificación rápida. El resto de temas son exactamente iguales. Hay conceptos básicos que se tratan muy bien, pero a veces realmente quieres una continuación más profunda, pero simplemente no la hay. En una palabra, este es un libro muy básico, después del cual, lo más probable es que quieras encontrar un libro en el que todo se describa con más seriedad. Por ejemplo, el siguiente.

Algoritmos en Java (Robert Sedgwick, Kevin Wayne)

Título original: Algoritmos de Robert Sedgewick y Kevin Wayne Los 10 mejores libros de programación para principiantes - 10De hecho, este libro puede encantar y asustar al mismo tiempo. Te asustará al menos por su volumen de... muchas páginas y cierto carácter académico. Por lo tanto, si no está inclinado hacia esto, es académico o no se siente seguro en las matemáticas (escuela secundaria, los elementos más simples de las matemáticas superiores para ingenieros), entonces es mejor no comenzar con este libro. No hay tantos términos matemáticos allí, pero el enfoque en sí presupone tal pensamiento. Pero después del libro anterior, ¿por qué no? Ella te dará una guía. El primer capítulo en algunos lugares resume el conocimiento de Java y define algunas estructuras de datos. Es mejor leerlo selectivamente, pero no estaría de más estudiar los capítulos segundo y tercero con suficiente detalle. El resto también está lleno de información interesante y completa sobre gráficos y cadenas. Yo diría que cosas como esta son MUY útiles para moldear la mentalidad de programación. En cuanto a la presentación, se siente que el autor es un docente, pero está acostumbrado a trabajar con personas en su mayoría interesadas y preparadas. Así que tenga paciencia y lea. Y también resolver problemas, aquí hay muchos. Por cierto, en Coursera puedes encontrar un curso sobre algoritmos creado por los autores del libro.

Conozca su marco

Y por último, un libro más. Y de nuevo, útil.

Primavera en acción (Craig Walls)

Título original: Spring in Action de Craig Walls Los 10 mejores libros de programación para principiantes - 11Un libro muy famoso con una portada igualmente famosa con un “hombre con falda” que en realidad no lleva falda. Hablando francamente, aprender Spring con un solo libro es una tarea muy difícil, incluso si intentas probarlo todo en la práctica a la vez. Por cierto, puede resultar extremadamente difícil entender cómo hacer esto después de leer tal o cual capítulo. Trabajé con este libro cuando hice unas prácticas en una empresa y, cuando se utiliza de esta manera, me ayuda mucho. Además, incluso hoy, que ya trabajo como programador, vuelvo constantemente a ello. En resumen, con su ayuda puede hacerse una idea general del marco principal de Java.
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION