Pregunta ¿Cuál es el libro más influyente que todo programador debería leer? [cerrado]


Si pudieras retroceder en el tiempo y decirte que lees un libro específico al comienzo de tu carrera como desarrollador, ¿qué libro sería?

Espero que esta lista sea variada y cubra una amplia gama de cosas.

Buscar: Use el cuadro de búsqueda en la esquina superior derecha. Para buscar las respuestas de la pregunta actual, use inquestion:this. Por ejemplo:

inquestion:this "Code Complete"

1439


origen


Respuestas:


  • Código completo (2da edición) por Steve McConnell
  • El programador pragmático
  • Estructura e Interpretación de Programas de Computadora
  • El lenguaje de programación C por Kernighan y Ritchie
  • Introducción a Algoritmos por Cormen, Leiserson, Rivest & Stein
  • Patrones de diseño por la Banda de los Cuatro
  • Refactorización: mejorar el diseño del código existente
  • El mes del hombre mítico
  • El arte de la programación de computadoras por Donald Knuth
  • Compiladores: principios, técnicas y herramientas por Alfred V. Aho, Ravi Sethi y Jeffrey D. Ullman
  • Gödel, Escher, Bach por Douglas Hofstadter
  • Código limpio: un manual de software artesanal ágil por Robert C. Martin
  • Eficaz C ++
  • Más efectivo C ++
  • CÓDIGO por Charles Petzold
  • Programación de perlas por Jon Bentley
  • Trabajando Efectivamente con Legacy Code por Michael C. Feathers
  • Peopleware por Demarco y Lister
  • Codificadores en el trabajo por Peter Seibel
  • ¡Seguro que estás bromeando, señor Feynman!
  • Java efectivo 2da edición
  • Patrones de la arquitectura de aplicaciones empresariales por Martin Fowler
  • El pequeño Schemer
  • El esquema sazonado
  • ¿Por qué (conmovedora) Guía de Ruby?
  • Los internos están ejecutando el asilo: por qué los productos de alta tecnología nos vuelven locos y cómo restaurar la cordura
  • El arte de la programación de Unix
  • Desarrollo basado en pruebas: por ejemplo por Kent Beck
  • Prácticas de un desarrollador ágil
  • No me hagas pensar
  • Desarrollo ágil de software, principios, patrones y prácticas por Robert C. Martin
  • Diseños impulsados ​​por el dominio por Eric Evans
  • El diseño de las cosas cotidianas por Donald Norman
  • Diseño moderno en C ++ por Andrei Alexandrescu
  • Mejor software de escritura I por Joel Spolsky
  • La práctica de la programación por Kernighan y Pike
  • Pensamiento y Aprendizaje Pragmático: Refactoriza tu Wetware por Andy Hunt
  • Estimación de software: Desmitificar el arte negro por Steve McConnel
  • El programador apasionado (mi trabajo fue a la India) por Chad Fowler
  • Hackers: Héroes de la revolución informática
  • Algoritmos + Estructuras de Datos = Programas
  • Escribir código sólido
  • JavaScript - Las buenas partes
  • Conseguir Real por 37 señales
  • Fundamentos de la Programación por Karl Seguin
  • Gráficos por computadora: principios y práctica en C(2da Edición)
  • Pensando en Java por Bruce Eckel
  • Los elementos de los sistemas de computación
  • Refactorización de patrones por Joshua Kerievsky
  • Sistemas operativos modernos por Andrew S. Tanenbaum
  • El Turing anotado
  • Cosas que nos hacen inteligentes por Donald Norman
  • La forma intemporal de construir por Christopher Alexander
  • La fecha límite: una novela sobre la gestión de proyectos por Tom DeMarco
  • El lenguaje de programación C ++ (3ª edición) por Stroustrup
  • Patrones de la arquitectura de aplicaciones empresariales
  • Sistemas informáticos: una perspectiva del programador
  • Principios, patrones y prácticas ágiles en C # por Robert C. Martin
  • Creciente software orientado a objetos, guiado por Pruebas
  • Pautas de diseño del marco por Brad Abrams
  • Pensamiento de objetos por el Dr. David West
  • Programación avanzada en el entorno UNIX por W. Richard Stevens
  • Hackers y pintores: grandes ideas de la era de la informática
  • El alma de una nueva máquina por Tracy Kidder
  • CLR a través de C # por Jeffrey Richter
  • La forma intemporal de construir por Christopher Alexander
  • Patrones de diseño en C # por Steve Metsker
  • Alicia en el país de las Maravillas por Lewis Carol
  • Zen y el arte del mantenimiento de la motocicleta por Robert M. Pirsig
  • Acerca de la cara: los elementos esenciales del diseño de interacción
  • Aquí viene todo el mundo: el poder de organizarse sin organizaciones por Clay Shirky
  • El Tao de la Programación
  • Belleza computacional de la naturaleza
  • Escribir código sólido por Steve Maguire
  • La guía de Philip y Alex para publicar en la web
  • Análisis y Diseño Orientado a Objetos con Aplicaciones por Grady Booch
  • Java efectivo por Joshua Bloch
  • Computabilidad por N. J. Cutland
  • Mentes maestras de la programación
  • El Tao Te Ching
  • El programador productivo
  • El arte del engaño por Kevin Mitnick
  • El programador profesional: tácticas de guerrilla para un mundo imperfecto por Christopher Duncan
  • Paradigmas de programación de inteligencia artificial: estudios de caso en Common Lisp
  • Masters of Doom
  • Prueba unitaria pragmática en C # con NUnit por Andy Hunt y Dave Thomas con Matt Hargett
  • Cómo resolverlo por George Polya
  • El alquimista por Paulo Coelho
  • Smalltalk-80: el lenguaje y su implementación
  • Escribir código seguro (2nd Edition) por Michael Howard
  • Introducción a la Programación Funcional por Philip Wadler y Richard Bird
  • No hay errores! por David Thielen
  • Rehacer por Jason Freid y DHH
  • JUnit en acción

1747



K & R

@Juan: Conozco a Juan, lo sé, pero hay algunas cosas que solo se pueden aprender al llegar a la tarea en cuestión. Hablar en ideales abstractos todo el día simplemente te convierte en un académico. Es en la aplicación del resumen que realmente asimilamos la razón de su existencia. :PAG

@Keith: Gran mención de "Los reclusos están manejando el asilo" por Alan Cooper - un revelador para seguro, cualquier desarrollador que haya trabajado conmigo desde que leí ese libro me ha escuchado mencionar las ideas que defiende. +1


9



Matemáticas discretas para científicos informáticos http://ecx.images-amazon.com/images/I/51HCJ5R42KL._SL500_BO2,204,203,200_AA219_PIsitb-sticker-dp-arrow,TopRight,-24,-23_SH20_OU02_.jpg

Matemáticas discretas para los informáticos por J.K. Braguero.

Si bien esto no te enseña a programar, te enseña matemática fundamental que todo programador debería saber. Puede que recuerde esto desde la universidad, pero realmente, al hacer lógica de predicados mejorará sus habilidades de programación, necesita aprender la Teoría de conjuntos si desea programar utilizando colecciones.

Realmente hay mucha información interesante aquí que puede hacer que pienses sobre los problemas de diferentes maneras. Es útil tenerlo, solo para aprender de vez en cuando a aprender algo nuevo.


9



La sistemática: cómo funcionan los sistemas y especialmente cómo fallan. Obtenerlo usado barato. Pero es posible que no tenga sentido del humor hasta que haya trabajado en algunos proyectos fallidos.

La belleza del libro es el año de copyright.

Probablemente la "ley" para llevar más profunda presentada en el libro:

El teorema del modo de falla fundamental (F.F.T.): los sistemas complejos generalmente operan en modo de falla.

La idea es que hay partes defectuosas en cualquier pieza dada de software que están enmascaradas por fallas en otras partes o por validaciones en otras partes. Ver un ejemplo del mundo real en el Máquina de radiación Therac-25, cuyos defectos de software fueron enmascarados por fallas de hardware. Cuando se eliminaron las fallas de seguridad del hardware, la condición de carrera del software que no se había detectado durante todos esos años dio como resultado que la máquina matara a 3 personas.


9



Uno de mis favoritos personales es Hacker's Delight, porque era tan divertido de leer como educativo.

¡Espero que la segunda edición sea lanzada pronto!


9



Conceptos, técnicas y modelos de programación de computadoras.

texto alternativo http://ecx.images-amazon.com/images/I/51YZ50ZR13L._SL500_AA240_.jpg


9



Programación extrema explicada: abrazo cambio por Kent Beck. Si bien no soy partidario de una versión hardcore de XP o de la carretera en el desarrollo de software, me gustaría haber sido presentado a los principios de este libro mucho antes en mi carrera. Pruebas unitarias, refactorización, simplicidad, integración continua, costo / tiempo / calidad / alcance: esto cambió la forma en que analicé el desarrollo. Antes de Agile, todo era sobre el depurador y el miedo a las solicitudes de cambio. Después de Ágil, esos demonios no parecían tan grandes.


9