Si solo pudiera tener un libro relacionado con la programación en su estantería, ¿cuál sería y por qué? [cerrado]

58

Uno por respuesta por favor. Agregaré mi favorito como respuesta.

Paddyslacker
fuente
13
¿Un Kindle cuenta como un solo libro?
Wizard79
55
No. ¡Juega limpio ahora!
Paddyslacker
1
¿Qué tal el iPad?
Moshe
3
¿El arte de la programación de computadoras cuenta como un libro o varios?
David Thornley
2
@David Creo que técnicamente es un libro en varios volúmenes.
Paddyslacker

Respuestas:

69

Código completo 2ª ed.

Código completo por Steve McConnell. Ni siquiera creo que necesite explicación. Es el libro definitivo sobre construcción de software. Increíblemente bien escrito y cubre todos los aspectos del lado práctico (programación) de la creación de software.

EpsilonVector
fuente
+1 por elegir la segunda edición también: tantas mejoras con respecto a la primera que es un libro diferente.
Paddyslacker
+1 - Tengo la traducción al italiano. Después de eso, nunca compré otro libro de programación o técnico traducido a mi idioma, ya que la traducción fue terrible. ¡Tuve que comprar la edición en inglés para entender algunas oraciones!
Wizard79
Para quienes viven en Quebec, Canadá . El BAnQ tiene la versión completa de este libro disponible en línea en esta ubicación: library.books24x7.com.res.banq.qc.ca/toc.asp?bookid=10482 .
HoLyVieR
44
No puedo estar de acuerdo Es interesante que la palabra inmutable ni siquiera exista en este libro.
Jonas
2
Aunque conservo mi copia de la primera edición, creo que nunca volví a ella. La razón puede ser que llegó a obtener libros sobre cada uno de los temas que McConnell dice que son importantes.
Apalala
56

Fácil.

Programador pragmático

Stoosh
fuente
66
+1 por ser realista. Este libro es relevante, fácil de leer, y probablemente el libro que muchos desarrolladores realmente pueden beneficiarse de la lectura. Demasiados otros en esta lista son difíciles y dudo que hayan sido leídos de principio a fin.
Spong
Esta respuesta se repite.
clrod
+1 - mi segundo libro de programación favorito detrás de Code Complete (y honestamente, a veces, es el primero)
Alan
36

La estructura e interpretación de los programas de computadora, también conocido como SICP

Cuando vi que SICP aún no figuraba en la lista, hice una mueca de dolor. :)

Por qué: No hay nada más que agregar a Norvig que alaba este libro como la mejor introducción a la informática jamás escrita. Pues bien, desde el por qué? se solicitó: SICP cubre los fundamentos del software de una manera satisfactoriamente profunda, planteando muchas perspectivas y preguntas sobre la naturaleza de la computación, algunas de las cuales siguen siendo cuestiones abiertas, mientras lleva al lector a ver más allá de los aspectos superficiales de decirle a la máquina qué hacer o cómo hacerlo.

texto alternativo http://ecx.images-amazon.com/images/I/41CPGEDXMDL._SL500_AA300_.jpg

Haga clic en la imagen para acceder al texto gratuito en línea . También puede encontrar fácilmente las conferencias en video de los autores , completadas con colores de estilo de los años 80 y ropa no menos.

limist
fuente
2
Todos saludan al SICP. En mi opinión, debe ser el libro de texto para un curso obligatorio de programación introductoria en todas las escuelas de CS. Ciertamente eliminaría a las personas que realmente no pueden cortarlo en la programación (mucho menos CS) al tiempo que fortalece las habilidades de CS y programación para aquellos con potencial.
luis.espinal
1
@ luis.espinal SICP parece excesivo para la programación introductoria (a menos que estemos hablando de una escuela de posgrado). Hay una razón por la cual MIT abandonó el curso SICP como su curso de introducción ... Aún así, estoy de acuerdo en que es valioso leer este libro (y hacer los ejercicios ...), pero hacerlo en un semestre universitario estándar sería difícil incluso Un estudiante por encima del promedio. También la introducción con Java / Python / Ruby / C es más relevante para la fuerza laboral, cuanto antes se acostumbre a alguien a los lenguajes imperativos, mejor ... SICP es excelente después de eso para expandir sus horizontes. Pero podría ser desalentador como un curso de introducción ...
Cervo
1
@Cervo: es una preocupación válida, y parece una exageración, pero (y reconozco que es una posición completamente subjetiva), creo firmemente que proporciona una base más profunda que la que normalmente se encuentra con otros enfoques convencionales . El jurado todavía está con MIT ahora que se han cambiado a Python (algunas de las razones son que también tiene capacidades de FP y es muy adecuado para la computación científica y la robótica, que no es Scheme). No hay nada malo con Python (en realidad encanta el lenguaje), pero el jurado estaría fuera hasta que salga una versión Python'esque de SICP.
luis.espinal
2
@con't: es decir, sugiero que el SICP no se deba a Scheme, sino a su contenido pedagógico. En realidad, habría sugerido comenzar con el ensamblaje (la gente lo hizo con bastante éxito), pero no hay libros de ensamblaje (y probablemente nunca lo habrá) como el SICP. La más cercana sería la enciclopedia de Knuth (y eso sería una exageración). En cuanto a Java , he trabajado con ella durante 12 años, y no la recomendaría para enseñar ... hace el trabajo, pero es horrible. un PL. C, Python o Ruby son lenguajes mucho mejor diseñados.
luis.espinal
1
@con't - también, advertiría contra el uso de un lenguaje como herramienta pedagógica porque es convencional. La corriente principal cambia cada 2-3 años, y con Java, el lenguaje es simple, pero la tarea es aprender la JVM, las bibliotecas y la arquitectura. Diría que aprenda el desarrollo empresarial de Java y .NET en el cuarto año de la universidad. Y creo (lo sé, subjetivo ) que es importante proporcionar rigor desde el principio. Tenemos muchísimos programadores de apuntar y hacer clic que necesitaban un poco de rigor desde el principio. He ganado mucho dinero limpiando la basura que dejaron, pero aún así;)
luis.espinal
32

Vale la pena mencionar:

El mes mítico del hombre

texto alternativo

esponja
fuente
1
Si tan solo pudiera leer un libro sobre programación, y después de que termine de leerlo, desaparece Y nunca veo otro libro por el resto del tiempo, sería este. Si tuviera que mantener el libro en mi estante para verlo más tarde ... Podría ser otro volumen más orientado a referencias. +1 de todos modos!
SingleNegationElimination
Disfruté este libro y lo leí hasta el final. Sin embargo, gran parte del material se aplica solo a proyectos a gran escala con cientos o incluso miles o personas trabajando en él como un sistema operativo; ya que esto es de lo que él saca su experiencia. Pensé que Code Complete era mucho más útil en términos de conocimiento que podía usar todos los días y que se aplicaba a mí.
Despertar
30

Introducción a los algoritmos

Jonas
fuente
¡Tuvimos la cuarta edición pero este es un gran libro sobre algoritmos!
Chris
@ Chris: No creo que haya una cuarta edición. La tercera edición es de septiembre de 2009, por lo que es nueva.
Jonas
Errr, segunda edición con la tapa verde.
Chris
Este es el libro de texto requerido para mi clase este término. ¡Me alegra que esté en la lista aquí, y que tenga una calificación tan alta en la pregunta SO original!
Aparece el
28

Patrones de diseño: elementos de software orientado a objetos reutilizables

Este es el libro para leer sobre diseño y arquitectura de OOP. Los patrones son buenos cuando se usan correctamente, pero creo que el valor real de este libro es que le brinda una caja de herramientas de ideas para usar al diseñar.

texto alternativo

Fishtoaster
fuente
OOP no representa los límites de la programación.
Inaimathi
Dado que los catálogos de patrones abundan (que es este libro), el valor de este libro ha disminuido significativamente con el tiempo.
Steven Evers
1
¿Mucha gente lee esto de principio a fin? Me parece más una referencia que un libro. (Y una referencia que no puedes buscar.)
idbrii
28

Código limpio de Robert C. Martin

"Código limpio" de Robert C. Martin

Los lenguajes, los marcos y las metodologías van y vienen, pero sospecho que muchas ideas en este libro son para siempre.

azheglov
fuente
44
Sin ofender al libro, pero ¿puede realmente tener una respuesta aceptada sobre este tema?
Martin Beckett
25

Refactorización: mejora del diseño del código existente

texto alternativo

Daniel
fuente
25

Acabo de contar mis libros hoy. 23 de ellos. Depende de lo que estoy trabajando. Supongo que la respuesta intemporal es "lenguaje C", por Kernighan y Ritchie .

ingrese la descripción de la imagen aquí

Moshe
fuente
3
Uno de los mejores libros de enseñanza de idiomas en la historia de la informática. Un buen ejemplo de cómo se debe escribir un libro de programación.
Wizard79
1
Y vale la pena tenerlo en el estante, es más rápido encontrar los códigos de formato printf en el libro que en los documentos de ayuda de MSDN
Martin Beckett
19

Trabajando efectivamente con Legacy Code por Michael Feathers.

Contiene muchos buenos consejos sobre cómo obtener una base de código existente bajo prueba y manejable, la mayoría de los cuales no conocía hasta que leí este libro. Una lectura obligada, incluso si el código heredado con el que está trabajando es su propio código que escribió ayer.

Trabajando efectivamente con código heredado

Paddyslacker
fuente
Que gran portada.
Aparece el
Esto, ya que es mi enfoque actual: lograr que el código que escribí antes de que fuera "probado" en un estado comprobable.
+1 Muchas veces sí. Este libro me ayudó bastante a actualizar el código antiguo.
Grant Palin
18

El arte de la programación de computadoras por Donald Knuth

texto alternativo

Wizard79
fuente
1
No estoy seguro de que esto califique como "1 libro" (a menos que realmente se
refiera a
Tengo toda su serie, pero me conformaría con el Volumen 1. (Mi primera clase de informática se enseñó de esto en 1967. No ha tenido precio). "Conoce tus estructuras de datos".
Ira Baxter
15

Los libros imprescindibles de Java:

Java efectivo por Josh Bloch

texto alternativo

Concurrencia de Java en la práctica Por Brian Goetz, et. Alabama.

texto alternativo

Java Puzzlers Por Josh Bloch, Neal Gafter

texto alternativo

Jeremy Heiler
fuente
3
+1 para Java efectivo. Mejorado enormemente mis habilidades en Java.
Ryan Hayes
+1 para Java efectivo , -1 para ignorar Uno por respuesta, por favor .
Mark Booth el
El único conjunto de libros de Java que debería tener
Crowie
9

Gödel, Escher, Bach.

texto alternativo!

miku
fuente
1
¡Decir ah! ¡Esta fue mi elección en la lista de libros no relacionados con la programación! ¿Supongo que esto lo hace inclasificable?
Paddyslacker
Realmente me gustó este libro, fue muy recomendado por mi profesor de Teoría de la Computación en UW Madison, me ayudó mucho al tratar de entender de qué diablos estaba hablando.
Peter Turner el
@Paddyslacker, GEB en realidad pasa bastante tiempo hablando de computabilidad y varios conceptos de informática.
5

El programador pragmático: de oficial a maestro (Andrew Hunt y David Thomas)

Maniero
fuente
4

Getting Things Done (David Allen) te enseña cómo lidiar con las miles de pequeñas tareas que debes realizar en tu trabajo diario como desarrollador de software. Aunque no está específicamente dirigido a los desarrolladores, definitivamente es una ayuda invaluable, ya que el desarrollo de software generalmente involucra una gran cantidad de pequeñas tareas que deben realizarse de manera prioritaria. Por ejemplo: qué nuevas características implementar, qué errores corregir, qué partes del código refactorizar, qué partes del código deben descansar o volver a probar, etc.

Dimitri C.
fuente
3

El lenguaje de programación C ++ por Bjarne Stroustrup

texto alternativo

Prasoon Saurav
fuente
+1: Solo por lo seco y detallado que es. Desde entonces, nunca sentí que sabía tanto sobre un idioma después de haber completado un libro sobre él.
Mummey
2

El Zen de la optimización del código por Michael Abrash

El zen de la optimización del código

Una lectura obligada para programadores en tiempo real: incluso si la información específica del procesador está anticuada, la mentalidad es invaluable.

AShelly
fuente
2

¿Cuenta un iPad? Me gustaría decir que mi número 1 en mi estantería sería un navegador web y la capacidad de buscar. La API en línea y las referencias son el mejor lugar y dependería de mi conjunto de proyectos actual.

Chris
fuente
2
No, no lo hace. Vea el comentario sobre un Kindle arriba. Dicho esto, me encanta el iPad de todos modos. Puede ser un recurso valioso, pero aún no es un libro real. +1, estoy de humor fanboy. :)
Moshe
2

Patrones de diseño en Ruby: texto alternativo

ennuikiller
fuente
2

"Las trampas del desarrollo orientado a objetos" de Bruce F. Webster

Tenemos demasiados desarrolladores "OO" que todavía no saben qué es un objeto o una clase o para qué sirve; no sé qué aspecto tiene una buena programación OO, procesal, modular y estructurada; y de alguna manera logran improvisar código pseudoprocesador mal hecho junto con las clases.

Este libro (más algunos de los años 70 sobre diseño estructurado) ayudaría en gran medida a estas pobres almas a comprender cómo debería ser la buena orientación de los objetos.


Además, lo más probable es que si me viera obligado a elegir un libro y un libro solo al lado de este, no elegiría un libro específico para la tecnología .

luis.espinal
fuente
1

texto alternativo

Es uno de los pocos libros de programación que he guardado cuando comencé a programar. Solía ​​prestar esto mucho a las personas que estaban comenzando. Ahora, no tanto, ya que C ya no es el primer lenguaje de programación de muchas personas. Hace un trabajo maravilloso al describir lo que está sucediendo detrás de escena y sus descripciones sobre los indicadores aportan claridad real a lo que de otra manera es un tema muy confuso para muchos.

Rich Schuler
fuente
1

Jon skeet "c # en profundidad"

texto alternativo

ACP
fuente
1
En realidad no me gustó el libro de Jon. La información era buena, pero había tanto "oh, esto es 10 capítulos importantes a partir de ahora" en el libro que se sintió muy mal distribuido.
Steven Evers
2
Tenga en cuenta que hay una segunda edición, que es una actualización de la primera y también cubre C # 4.
Grant Palin
1

Diseño de Objetos: Roles, Responsabilidad y Colaboraciones

texto alternativo

Este es, con mucho, mi libro de programación favorito (incluso si no depende del idioma). En mi humilde opinión, es el libro que mejor presenta el caso sobre cómo diseñar objetos que se relacionan con sus primos / hermanos / vecinos. A debe tener en cualquier estantería de programador serio.

Caballero rojo
fuente