¿Cuáles son algunos de los mejores libros de informática y programación de computadoras?

Bueno, aquí hay algunos que vienen a la mente. Los he disfrutado o los he asignado a una clase.

  • Estructura e interpretación de programas de computadora (SICP) por Harold Abelson, Garold Jay Sussman y Julie Sussman
  • Organización y diseño de computadoras por John Hennessy y David Patterson
  • Introducción a la teoría de la computación por Michael Sipser
  • Tipos y lenguajes de programación por Benjamin Pierce
  • Pattern Calculus de Barry Jay
  • Semántica formal de lenguajes de programación por Glynn Winskel
  • Programación paralela y concurrente en Haskell por Simon Marlow
  • Haskell del mundo real por Brian O’Sullivan, Don Stewart y John Goerzen
  • Real World OCaml por Yaron Minsky, Anil Madhavapeddy y Jason Hickey
  • guía de Why (conmovedora) de Ruby por qué el afortunado rígido

Aquí hay algunos más que son básicamente libros de matemáticas, pero están dirigidos y son relevantes para programadores y científicos informáticos:

  • Círculos viciosos de John Barwise y Lawrence S. Moss
  • Teoría de la categoría para informáticos por Benjamin Pierce
  • Álgebra Universal y Coalgebra por Klaus Denecke y Shelly L. Wismath

Por lo general, no aprendo CS a través de los libros, por lo que no he visto demasiados.

Programación en Ada 2012 – John Barnes (no el chico de ciencia ficción)

Redes de Petri de colores: Kurt Jensen y Lars Kristensen

Una introducción a la especificación formal y Z – Ben Potter, Jane Sinclair y David Till

Ver MIPS Run – Dominic Sweetman

El estándar de codificación CERT C – Robert Seacord

Solía ​​tener muchos más libros, pero fueron destruidos en un incendio de almacenamiento. Sobre todo, coleccioné libros de referencia. Una vez que tenga los conceptos básicos, el 90% de todo lo demás es conocer la sintaxis específica.

Algunos libros arcaicos (el texto CCITT / ITU en X.400, por ejemplo, o los libros MIT en X11R4) no tienen absolutamente ningún valor como libros de programación, pero su profundidad, sus detalles y su claridad los hacen buenas ilustraciones sobre cómo escribir referencias. para protocolos y API. Son serios rellenos de estantes y objetos gravitacionales serios, pero están limpios. A diferencia de los manuales DEC e IBM, las páginas no se declaran intencionalmente en blanco y nadie tiene miedo de que Pi pueda cambiar. Si vale la pena escribir un libro, vale la pena escribirlo bien.

Para empezar, esta es mi lista (ordenada alfabéticamente)

  • Adam Chlipala – Programación certificada con tipos dependientes: una introducción pragmática al asistente de prueba Coq
  • Andrei Alexandrescu – Diseño moderno de C ++: programación genérica y patrones de diseño aplicados
  • Brett D. McLaughlin, Gary Pollice, Dave West – Jefe de análisis y diseño orientado a objetos
  • Charles Petzold – Código: El lenguaje oculto del hardware y software de la computadora
  • Daniel Coyle – El Código de Talento: La grandeza no ha nacido. Es crecido. Así es cómo.
  • David Abrahams – Metaprogramación de plantillas C ++: conceptos, herramientas y técnicas de Boost y más allá
  • David E. Goldberg – Algoritmos genéticos en búsqueda, optimización y aprendizaje automático
  • Douglas R. Hofstadter – Gödel, Escher, Bach: una trenza dorada eterna
  • Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides – Patrones de diseño: elementos de software orientado a objetos reutilizables
  • Herb Sutter – C ++ excepcional: 47 acertijos de ingeniería, problemas de programación y soluciones
  • Herb Sutter – C ++ más excepcional: 40 nuevos acertijos de ingeniería, problemas de programación y soluciones
  • Jean H. Gallier – Lógica para la informática: fundamentos de la demostración automática de teoremas
  • Jon Bentley – Perlas de programación
  • Matthew Wilson – Imperfecto C ++: Soluciones prácticas para la programación de la vida real
  • Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi – Cómo diseñar programas: una introducción a la programación y la informática
  • Morris Kline – Matemáticas: la pérdida de certeza
  • Paul Barry – Head First Python
  • Richard S. Sutton, Andrew G. Barto – Aprendizaje por refuerzo: una introducción
  • Scott Meyers – C ++ efectivo: 55 formas específicas de mejorar sus programas y diseños
  • Scott Meyers – C ++ moderno y eficaz: 42 formas específicas de mejorar su uso de C ++ 11 y C ++ 14
  • Scott Meyers – STL eficaz: 50 formas específicas de mejorar su uso de la biblioteca de plantillas estándar
  • Scott Meyers – C ++ más eficaz: 35 nuevas formas de mejorar sus programas y diseños
  • Fundamentos de software
  • Stanley B. Lippman – Dentro del modelo de objetos C ++
  • Stuart Russell, Peter Norvig – Inteligencia artificial: un enfoque moderno
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein – Introducción al algoritmo
  • Yves Bertot – Prueba de teorema interactivo y desarrollo de programas

En mis listas, aquí están algunos de mis mejores tiempos.
Morgan kaufman en arquitectura informática.

Estructura e interpretación de programas de computadora …

Siete idiomas en siete semanas de Bruce Tales.

Guía definitiva de Django – publicada por Apress.

Coding Freedom – Gabriella Coleman.

Redes informáticas: un enfoque de arriba hacia abajo por James F. Kurose y Keith W. Ross.

No soy bueno para terminar libros, soy principalmente un lector de velocidad. Entonces, cuando obtengo lo que necesito al leer un libro, tiendo a detenerme y pasar a otro. Y también, leo la mayoría de los temas de la web.

Increíble. La única respuesta contraída se refiere al lenguaje de programación C de K&R y el enlace de William Emmanuel Yu contiene Sistema operativo: diseño e implementación de Tanenbaum.

Ambos grandes libros sobre computadoras y programación.

Escribí una respuesta para los libros de texto de ciencias de la computación aquí:
¿Cuáles son algunos libros para leer durante los estudios universitarios de informática?

Sin embargo, muchos de estos libros también son una buena lectura fuera del aula formal.

  • El libro negro de programación de gráficos por Michael Abrash
  • El libro de compresión de datos de Mark Nelson
  • El arte de la programación de computadoras (4.5 volúmenes) por Donald Knuth
  • The Old New Thing por Raymond Chen
  • Estructuras de datos + Algoritmos = Programas de Niklaus Wirth
  • Elementos de programación de Alexander Stepanov y Paul McJones

Algunos generales que aún no se han mencionado:

  • Código completo -Steve McConnell
  • El programador pragmático -Andrew Hunt

Gran parte de la respuesta estará más basada en el dominio, así que algo como

  • CLR a través de C # -Jeffrey Richter

Arquitectura de la computadora: un enfoque cuantitativo por Hennessy y Patterson.

Donde los magos se quedan despiertos hasta tarde: Los orígenes de Internet: Katie Hafner: 9780684832678: Amazon.com: Libros

Codificadores en el trabajo Reflexiones sobre el arte de la programación

Tengo muchas listas para el libro de lenguaje de programación, pero sugiero uno de los mejores libros

El lenguaje de programación C de Kernighan y Ritchie
Programación experta en C: Secretos profundos en C Por Peter V. Linden