
The Pragmatic Programmer
David Thomas, Andrew Hunt
- Editorial
- Addison Wesley
- Año
- 2020
- Páginas
- ~497
- Nivel
- Intermedio
De qué trata
Edición especial del 20.º aniversario (publicada por Addison-Wesley) de uno de los tratados formativos más leídos e influyentes en la historia del desarrollo de software, escrito por David Thomas y Andrew Hunt. Esta entrega renueva íntegramente el clásico de 1999 con un 30 % de material inédito y ejemplos modernizados en lenguajes contemporáneos como JavaScript, Python, Elixir y Ruby. Está pensada para programadores, desarrolladores de software y líderes técnicos de nivel intermedio que buscan forjar una carrera profesional sólida y autosuficiente, asumiendo la responsabilidad integral de la calidad de su código, sus herramientas y sus procesos.
Organizado en 10 capítulos que compilan 53 tópicos y 100 consejos ('tips') atemporales, el libro aborda la lucha contra la entropía del software (la metáfora de las ventanas rotas), el diseño desacoplado bajo el principio DRY (Don't Repeat Yourself), el desarrollo guiado por trazadores ('tracer bullets') y la disciplina de la 'paranoia pragmática': diseño por contrato (DBC), manejo defensivo de errores, aserciones y balanceo estricto de recursos. Asimismo, explora el dominio de la terminal y la línea de comandos de Unix, flujos de trabajo con Git, patrones de transformación funcional mediante pipelines de datos, concurrencia orientada a procesos y actores, y metodologías avanzadas de verificación como el property-based testing con librerías tipo QuickCheck o Hypothesis.
El aprendizaje se asienta sobre 33 ejercicios prácticos y dilemas de diseño intercalados a lo largo del texto, acompañados de soluciones detalladas y discusiones reflexivas en el apéndice que desafían al lector a inspeccionar código y comandos reales. Su principal aporte es inculcar una mentalidad crítica, artesanal y disciplinada que trasciende frameworks o lenguajes transitorios; no enseña a programar una aplicación web específica de principio a fin ni administración de infraestructura en la nube. Conviene tener soltura previa con al menos un lenguaje de programación moderno y conocimientos básicos del entorno de línea de comandos.
- Filosofía pragmática
- Clean Code
- Principio DRY
- Ortogonalidad
- Diseño por contrato (DBC)
- Paranoia pragmática
- Property-based testing
- Herramientas de desarrollo
- Concurrencia
- Refactorización
- Tracer Bullets
¿Cómo enseña?
Teoría + práctica
- ✓ Incluye ejercicios
- ✗ Sin proyectos

