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.


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.


+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


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.


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


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

¡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


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


25

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

texto alternativo


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í


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


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


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


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!


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)


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.





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.


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

"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 .


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.


1

Jon skeet "c # en profundidad"

texto alternativo


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.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.