¿Cuáles son algunos buenos libros de programación?

  1. The Pragmatic Programmer: From Journeyman to Master por Andy Hunt – 4.31 – 27 289 Calificaciones (goodreads) – Publicado 1999
  2. Patrones de diseño: elementos de software orientado a objetos reutilizables por Erich Gamma – 4.16 – 18 278 Valoraciones (goodreads) – Publicado 1994
  3. Refactorización: Mejora del diseño del código existente por Martin Fowler – 4.21 – 14 339 Calificaciones (goodreads) – Publicado 1999
  4. El lenguaje de programación C de Brian W. Kernighan – 4.41 – 14 201 Calificaciones (goodreads) – Publicado 1978
  5. The Mythical Man-Month: Ensayos sobre ingeniería de software por Frederick P. Brooks Jr. – 4.05 – 22 173 Calificaciones (goodreads) – Publicado 1975
  6. JavaScript: The Good Parts por Douglas Crockford – 4.23 – 12 371 Calificaciones (goodreads) – Publicado 2008
  7. Estructura e interpretación de programas de computadora por Harold Abelson – 4.45 – 12 471 Calificaciones (goodreads) – Publicado 1984
  8. Clean Code: A Handbook of Agile Software Craftsmanship por Robert C. Martin – 4.38 – 22 677 valoraciones (goodreads) – Publicado 2007
  9. Head First Design Patterns de Eric Freeman – 4.23 – 10 562 Valoraciones (goodreads) – Publicado 2004
  10. Introducción a los algoritmos por Thomas H. Cormen – 4.31 – 14 955 Calificaciones (goodreads) – Publicado 1989
  11. Trabajo efectivo con código heredado por Michael C. Feathers – 4.13 – 9 138 Calificaciones (goodreads) – Publicado 2004
  12. Programming Pearls por Jon L. Bentley – 4.21 – 8 015 Calificaciones (goodreads) – Publicado 1986
  13. The Clean Coder: Un código de conducta para programadores profesionales por Robert C. Martin – 4.25 – 9 053 Calificaciones (goodreads) – Publicado 2011
  14. Code Complete por Steve McConnell – 4.27 – 18 356 Calificaciones (goodreads) – Publicado 1993
  15. Diseño basado en el dominio: abordar la complejidad en el corazón del software por Eric Evans – 4.14 – 8 579 calificaciones (goodreads) – Publicado 2003
  16. Code by Charles Petzold – 4.39 – 13 112 Valoraciones (goodreads) – Publicado 1999
  17. Codificadores en el trabajo: Reflexiones sobre el arte de la programación por Peter Seibel – 3.93 – 9 402 Calificaciones (goodreads) – Publicado 2009
  18. Patrones de arquitectura de aplicaciones empresariales por Martin Fowler – 4.12 – 7 488 Calificaciones (goodreads) – Publicado 2002
  19. Desarrollo guiado por pruebas: por ejemplo, por Kent Beck – 4.06 – 6 462 Calificaciones (goodreads) – Publicado 2002
  20. JavaScript elocuente: una introducción moderna a la programación por Marijn Haverbeke – 4.10 – 4 201 Calificaciones (goodreads) – Publicado 2010
  21. ¡Aprende Haskell por un gran bien! por Miran Lipovača – 4.33 – 3 013 Valoraciones (goodreads) – Publicado 2011
  22. C ++ efectivo: 55 formas específicas de mejorar sus programas y diseños por Scott Meyers – 4.37 – 4 409 Calificaciones (goodreads) – Publicado 1991
  23. No me hagas pensar, revisitado: un enfoque de sentido común para la usabilidad web por Steve Krug – 4.27 – 13 740 Calificaciones (goodreads) – Publicado 2000
  24. JavaScript: La guía definitiva por David Flanagan – 4.02 – 3 989 Valoraciones (goodreads) – Publicado 1996
  25. Siete idiomas en siete semanas por Bruce A. Tate – 3.97 – 4 047 Calificaciones (goodreads) – Publicado 2010
  26. Peopleware: Proyectos y equipos productivos por Tom DeMarco – 4.13 – 12 850 Calificaciones (goodreads) – Publicado 1987
  27. The Practice of Programming por Brian W. Kernighan – 4.10 – 4 206 Calificaciones (goodreads) – Publicado 1999
  28. Creciente software orientado a objetos, guiado por pruebas de Steve Freeman – 4.16 – 4 920 calificaciones (goodreads) – Publicado 2009
  29. The Art of Computer Programming, Volumen 1: Algoritmos fundamentales de Donald Ervin Knuth – 4.34 – 6 857 valoraciones (goodreads) – Publicado 1973
  30. Joel on Software por Joel Spolsky – 4.09 – 5 489 Valoraciones (goodreads) – Publicado 2004
  31. Beautiful Code: Los principales programadores explican cómo piensan por Andy Oram – 3.72 – 4 228 Calificaciones (goodreads) – Publicado 2009
  32. Dominando expresiones regulares por Jeffrey EF Friedl – 4.13 – 3 166 Calificaciones (goodreads) – Publicado 1997
  33. 97 cosas que todo programador debe saber: Sabiduría colectiva de los expertos por Kevlin Henney – 3.64 – 3 433 Calificaciones (goodreads) – Publicado 2010
  34. Head First Java por Kathy Sierra – 4.22 – 5 343 Calificaciones (goodreads) – Publicado 2003
  35. Concurrencia Java en la práctica por Brian Goetz – 4.42 – 4 521 Calificaciones (goodreads) – Publicado 2005
  36. Pensando en Java por Bruce Eckel – 4.15 – 3 393 Calificaciones (goodreads) – Publicado 1998
  37. Pensamiento y aprendizaje pragmáticos: refactorice su Wetware por Andy Hunt – 4.12 – 7 225 Calificaciones (goodreads) – Publicado 2008
  38. Programación extrema explicada: Abrace el cambio por Kent Beck – 4.03 – 4 518 Calificaciones (goodreads) – Publicado 1999
  39. The Algorithm Design Manual by Steven S. Skiena – 4.29 – 5 640 Calificaciones (goodreads) – Publicado 1997
  40. Entrega continua: lanzamientos de software confiables a través de la automatización de compilación, prueba e implementación por Jez Humble – 4.14 – 6 432 calificaciones (goodreads) – Publicado 2010
  41. Hackers & Painters: Big Ideas from the Computer Age por Paul Graham – 4.04 – 11 870 Valoraciones (goodreads) – Publicado 2004
  42. Desarrollo de software ágil, principios, patrones y prácticas por Robert C. Martin – 4.24 – 3 560 Calificaciones (goodreads) – Publicado 2002
  43. Algorithms by Robert Sedgewick – 4.39 – 3 617 Ratings (goodreads) – Publicado 1983
  44. Patrones JavaScript de Stoyan Stefanov – 4.17 – 3 161 Valoraciones (goodreads) – Publicado 2010
  45. ¡Suéltelo !: Diseñe e implemente software listo para producción por Michael T. Nygard – 4.18 – 5 302 Calificaciones (goodreads) – Publicado 2007
  46. Refactoring to Patterns por Joshua Kerievsky – 4.01 – 3 619 Calificaciones (goodreads) – Publicado 2004
  47. Estructuras de datos puramente funcionales por Chris Okasaki – 4.14 – 3 131 Calificaciones (goodreads) – Publicado 1996
  48. Programación avanzada en el entorno UNIX por W. Richard Stevens – 4.28 – 2 719 valoraciones (goodreads) – Publicado 1992
  49. Inteligencia artificial: un enfoque moderno por Peter Norvig – 4.14 – 7 124 Calificaciones (goodreads) – Publicado 1994
  50. The Art of UNIX Programming por Eric S. Raymond – 4.16 – 2 652 valoraciones (goodreads) – Publicado 2003

Soy un curador de contenido, así que me gustaría contribuir aquí.

Androide
· Creación de aplicaciones de Android con HTML, CSS y JavaScript
· Aprendizaje de Android
Lenguaje ensamblador
· Programación desde cero (PDF)
· Tutorial de Paul Carter sobre la Asamblea x86
· Recursos de optimización de software por Agner Fog

C / C ++
· Guía de Beej para la programación de redes
· El libro C
· Anotaciones C ++
· Programación C ++ GUI con Qt 3
· Abstracciones de programación CS106X en C ++
· C esencial
· Introducción a los patrones de diseño en C ++ con Qt 4 (PDF)
· Aprende C por las malas
· Asuntos computacionales: ideas, algoritmos, código fuente, por Jorg Arndt
· El nuevo estándar C: una referencia anotada
· Programación orientada a objetos en C (PDF)
· Recursos de optimización de software por Agner Fog
· Pensar en C ++, segunda edición
· La respuesta de Dhruv Aggarwal a ¿Cuál es la mejor manera de aprender lenguajes de programación como Java, C # y C ++? ¿Qué libros recomendarías para aprender cada lenguaje de programación?

HTML / CSS
· Sumérgete en HTML5
· Tutoriales de HTML Dog
Java
· Desarrollo de aplicaciones Java en Linux por Carl Albing y Michael Schwarz (PDF)
· Cómo pensar como un informático
· El tutorial de Java EE6 (PDF)
· Programación Java Thin-Client
· Tutoriales de Java de Sun
· Pensar en Java
· OSGi en la práctica (PDF)

JavaScript
· JavaScript de Crockford
· JavaScript elocuente
· Patrones esenciales de diseño de Javascript y jQuery para principiantes
· JavaScript Essentials
· JavaScript: las partes buenas
· Fundamentos de jQuery (comienza con conceptos básicos de JavaScript)
· Guía de JavaScript de Mozilla Developer Network
JavaScript (específico de Node.js)
· En funcionamiento con Node
· El libro para principiantes del nodo
· Mastering Node.js

Linux
· Programación avanzada de Linux
· GNU Autoconf, Automake y Libtool
· Desarrollo de aplicaciones GTK + / Gnome
· La plataforma de desarrollo de Linux (PDF)
· Controladores de dispositivos Linux por Jonathan Corbet, Alessandro Rubini y Greg Kroah-Hartman
· La guía de programación del módulo del kernel de Linux
· Programación segura para Linux y Unix
Ceceo
· ANSI Common Lisp
· Common Lisp the Language, 2ª edición
· Common Lisp: una suave introducción a la computación simbólica – David S. Touretzky
· Referencia rápida de Lisp común
· Let Over Lambda – 50 años de Lisp
· Procesamiento de lenguaje natural en Lisp
· En Lisp
· Lisp común práctica
· Lisp exitoso: Cómo entender y usar Lisp común – David Lamkins
· Sketchy LISP – Nils Holm

NET (C # / VB / Nemerle / Visual Studio)
· C # Essentials
· Programación C # – Wikibook
· Libro amarillo C # (introducción a la programación)
· El libro cero de .NET de Charles Petzold
· Estructuras de datos y algoritmos con patrones de diseño orientados a objetos en C #
· Marco de la entidad
· Mudarse a Microsoft Visual Studio 2010
· Nemerle
· Libro de escuela del programador Heaven C # (cubre C # 1.0 y 2.0)
· Enhebrado en C #
· Elementos básicos de Visual Basic
· Consejos y trucos de Visual Studio (solo VS 2003-2005)

C objetivo
· El lenguaje de programación Objective-C
· Programación orientada a objetos con Objective-C

Perl
· Perl principiante
· Incrustar Perl en HTML con Mason
· Perl esencial
· Perl extremo
· Perl de orden superior
· El libro masón
· Modern Perl 5
· Perl y LWP
· Perl para la web
· Libros electrónicos en línea gratuitos de Perl (meta-lista)
· Perl The Hard Way
· Mod_perl práctico
· Programación de cliente web con Perl
PHP
· PHP Essentials
· Programación práctica de PHP (wiki que contiene PHP In a Nutshell de O’Reilly)
· Symfony2
· Zend Framework: sobrevivir al extremo profundo

Pitón
· Desarrollar habilidades en Python versión 2.5
· Byte de Python
· Estructuras de datos y algoritmos en Python
· Sumérgete en Python
· Sumérgete en Python 3
· El libro de Django
· Cómo pensar como un informático: aprender con Python
· Inventa tus propios juegos de computadora con Python
· Aprende Python de la manera difícil
· Procesamiento de lenguaje natural con Python
· Python Bibliotheca
· Python para la diversión
· Peleas de serpientes para niños
· Piensa en Python (PDF)
· Pensar en Python

Rubí
· Aprende Ruby de la manera difícil
· MacRuby: la guía definitiva
· Humble Little Ruby Book del Sr. Neighbourly
· Programación de Ruby
· Mejores prácticas de Ruby
· Guía del por qué (conmovedor) de Ruby (espejo)
Ruby on Rails
· Tutorial de Ruby on Rails: Aprenda Rails por ejemplo

Algunos buenos enlaces de libros gratis
· 195 libros gratuitos de programación en línea
· 30 libros electrónicos de programación gratuitos
· 25 libros electrónicos gratuitos de código abierto y libros en línea
· 500 libros gratis en línea
· Libros gratuitos sobre temas tecnológicos [^] Lista de libros gratuitos de MS
Cómo diseñar programas: una introducción a la informática y la programación
Wikilibros: programación

Mi serie favorita de libros es la serie Head First. Cada vez que empiezo a aprender un nuevo tema, primero verifico si hay un libro principal disponible para el mismo. Si es así, empiezo a leerlo de inmediato sin consultar ningún otro recurso y nunca me ha decepcionado. La naturaleza interactiva de estos libros es lo que los hace tan agradables y divertidos de leer.

Estos son los siguientes libros disponibles en el momento de la escritura.

Head First Python

Cabeza primero rubí

Head First Desarrollo de Android

Head First JavaScript Programming

Head First PMP, 3.a edición

Head First, desarrollo de iPhone y iPad, 3a edición

Head First C #, 3.a edición

Head First HTML and CSS, 2nd Edition

Cabeza primero c

Head First HTML5 Programming

Head First jQuery

Head First Python

Head First WordPress

Head First Excel

Head First Programming

Head First 2D Geometry

Head First iPhone Development

Head First Data Analysis

Head First Networking

Cabeza Primero Álgebra

Jefe de Diseño Web Primero

Head First PHP & amp; MySQL

Head First Physics

Head First Statistics

Head First Ajax

Head First Servlets and JSP, 2nd Edition

Jefe de Desarrollo de Software Primero

Cabeza Primero C #

Head First SQL

Head First PMP

Head First Análisis y diseño orientado a objetos

Head Rush Ajax

Head First Java, 2da Edición

Head First Patrones de diseño

Head First Servlets y JSP

Head First EJB

Busque estos libros en Amazon, tome su copia y comience a leer de inmediato.

  1. El lenguaje de programación C escrito por Brian W. Kernighan y Dennis M. Ritchie.
  2. C: La referencia completa escrita por Herbert Schildt.
  3. Programación en ANSI C escrita por E Balagurusamy.
  4. Let Us C escrito por Yashavant Kanetkar.
  5. Head First C escrito por David Griffiths.

Estos son algunos buenos libros para aprender el lenguaje de programación C.

Según mi punto de vista siempre sigo solo un libro.

Seleccione un libro y comience a aprender, no verifique lo que está escrito en otros libros, porque todos los libros tienen casi el mismo contenido.

Concéntrese en el único libro y complete el libro.

1)

Elija un lenguaje de programación. La programación de la computadora se realiza esencialmente como un conjunto de instrucciones escritas que la computadora sigue (también conocida como codificación binaria). Estas instrucciones pueden escribirse en varios “idiomas” diferentes, o que son simplemente diferentes formas de organizar las instrucciones y el texto. Sin embargo, se utilizan diferentes idiomas para crear diferentes tipos de programas, así que elija un idioma que considere relevante para lo que desea hacer. Si decide que un idioma no satisface sus necesidades, siempre puede pasar a un idioma nuevo.

2

Considere C, C ++, C # y lenguajes relacionados. Estos lenguajes se utilizan principalmente para crear aplicaciones informáticas independientes, como juegos. C y C ++ son lenguajes difíciles de aprender para un principiante, pero no imposible. Aprenderlos le dará una comprensión profunda no solo de la programación (la mayoría de los lenguajes de programación heredan un concepto u otro de C y C ++), sino también de cómo funciona una computadora. Son populares y ampliamente utilizados, aunque C #, un lenguaje muy similar a Java, está comenzando a ser mucho más común.

3

¡No se limite a estos idiomas! Hay toneladas de lenguajes de programación, todos con diferentes usos. Si desea trabajar como programador, definitivamente necesitará saber más de uno, así que aprenda tantos como pueda. *. Su mejor opción será mirar los anuncios para el tipo de trabajos que desea obtener y buscar los idiomas comunes que ellos piden.

Aprenda de las universidades en línea. Ya sea que obtenga un título en línea con tarifas y un título real al final o asista a un programa gratuito como el maravilloso Coursera del MIT, puede aprender mucho sobre la programación de estos cursos estructurados.

Intente utilizar herramientas en línea. Utilice servicios gratuitos como el Consorcio Universitario de Google o la Red de Desarrolladores de Mozilla para obtener más información sobre la programación. Estas compañías quieren que más desarrolladores ayuden a que sus plataformas prosperen y sus recursos pueden ser algunos de los mejores en la web.

Aprenda usando tutoriales en línea. Hay muchos programadores con sitios web donde le enseñarán los conceptos básicos individuales, así como algunos trucos. Busque tutoriales sobre el idioma que desea aprender para encontrarlos. *. Muchas clases gratuitas en línea están disponibles para aprender a programar. TheKhan Academy enseña codificación por computadora, con tutoriales y videos fáciles. Code Academy es otro sitio gratuito para aprender, con tutoriales paso a paso.

Comience con un buen libro o tutorial sobre programación. Obtenga un buen libro actualizado sobre el lenguaje de programación que desea aprender. Las revisiones en Amazon o sitios similares generalmente lo ayudarán a identificar libros útiles de libros inútiles.

Obtenga un intérprete para ese http://language. Un intérprete es solo otro programa de computadora, pero convertirá las ideas que ha escrito en un lenguaje de programación en “código de máquina” para que pueda ver cómo funcionan las cosas. Hay muchos programas disponibles y deberá elegir uno que sea apropiado para usted.

¡Lea el libro! Tome ejemplos del lenguaje de programación del libro y póngalos en su intérprete. Intente cambiar los ejemplos y hacer que el programa haga cosas diferentes.

Intente reunir sus propias ideas para formar un programa de trabajo. Comience con cosas simples, como un programa para convertir monedas, y vaya avanzando hacia cosas más complejas a medida que continúa leyendo y aprendiendo sobre su lenguaje de programación.

Arte de la intrusión
Codificadores en el trabajo
Código limpio
Código completo
Diseño de todo
Efectivo Java y C ++
Fundamento de la programación
Software orientado a objetos en crecimiento
Refactorización a patrones
Probar el desarrollo impulsado por el ejemplo
El arte de la programación de computadoras
Domina las mentes de la programación
Maestros de la fatalidad
Cosas que no me enseñarían en la universidad
Sin errores
Mes hombre místico
Los internos están manejando el asilo
Práctica de un desarrollador ágil
Retrabajo por Jason
Principios sólidos
No me hagas pensar
Tao de programación
La batalla de la existencia humana ordinaria en nuestro tiempo.
Programador pragmático de oficial a maestro
El programador productivo
El intrigante experimentado
El alquimista
El pequeño intrigante
Diseño de cosas cotidianas.
Escribir de manera efectiva con código heredado
Escribir código sólido

Como no especificó ningún idioma en particular, y además del “Código completo” mencionado en la otra respuesta, recomendaría este libro:

Código limpio: un manual de artesanía de software ágil

Hay tantos buenos libros por ahí para cada lenguaje de programación. Decida qué lenguaje de programación desea aprender y consulte sus reseñas de libros y calificaciones en Amazon, eso es lo que suelo hacer cuando quiero aprender cualquier tema. Yo personalmente comencé con Java, cómo programar por deitel. Tenga cuidado de no perder demasiado tiempo decidiendo qué idioma aprender, simplemente elija cualquier idioma. Si no está seguro, entonces Python y Java son buenas opciones.