¿Cuál es el mejor libro para aprender a programar?

Los programadores parecen haber dejado de leer libros. El mercado de libros sobre temas de programación es minúsculo en comparación con el número de programadores que trabajan. En cambio, felizmente programan, usando prueba y error. Cuando no pueden resolver algo, escriben una pregunta en Google.

¿Te suena esto?

Si bien los motores de búsqueda y los foros de la comunidad como Stack Overflow son indispensables, no hay forma de que puedas obtener la misma profundidad de conocimiento y perspectiva que obtienes al leer libros.

Los mejores tipos de libros de programación son los que no solo le dicen cómo, sino que explican por qué. No solo te enseñan sobre lenguajes específicos o cómo codificar, sino cómo pensar. Resisten la prueba del tiempo y lo ayudarán a convertirse en un mejor programador, ya sea que recién esté comenzando o que haya estado en la industria durante 30 años.

Sin más preámbulos, aquí está la lista de los mejores 8 mejores libros de programación para leer si desea diferenciarse y convertirse en una potencia de codificación.

1. Codificadores en el trabajo: reflexiones sobre el arte de la programación

>> compra en Amazon

Si tienes curiosidad acerca de la vida como programador, Coders at Work es el libro para ti. Está repleto de entrevistas interesantes de 15 programadores consumados y científicos informáticos, incluidos Joshua Bloch, Peter Norvig, Donald Knuth, Ken Thomson y Jamie Zawinski. El autor, Peter Seibel (un programador convertido en escritor), consiguió que los entrevistados hablaran sobre los famosos proyectos en los que trabajaron y las inspiradoras historias detrás de ellos. Coders at Work da un vistazo a lo que hace que algunos de los mejores programadores funcionen y cómo piensan. Definitivamente una lectura obligada!

2. Código completo: un manual práctico de construcción de software

>> compra en Amazon

Code Complete de Steve McConnell se considera la enciclopedia de la codificación práctica y una lectura obligada para cualquier programador profesional. Y es fácil de entender por qué: es una gran literatura en 900 páginas, pero cada capítulo está repleto de sugerencias y técnicas para mejorar la programación diaria y construir código que sea legible y más fácil de administrar. McConnell tiene una habilidad especial para presentar su material en un formato de historia que hace que el libro sea fácil de leer e incluso entretenido. No importa en qué nivel se encuentre, Code Compete indudablemente cambiará su forma de pensar y escribir código.

CONSEJO: Si no tiene tiempo para leer el libro en su totalidad, vaya a los últimos tres capítulos, ya que sirve como guía de recursos. Desde allí, puede leer los capítulos sobre los que desee información. Omita la edición Kindle y opte por la copia impresa, ya que los capítulos son más fáciles de consultar.

3. El mes del hombre mítico

>> compra en Amazon

La premisa de este libro se basa en el hecho de que las computadoras cambian, pero las personas no. The Mythical Man Month es un clásico de programación que analiza los elementos humanos de la ingeniería de software. Aunque el libro fue escrito hace 30 años (publicado por primera vez en 1975), ha resistido el paso del tiempo. ¿Por qué? Porque construir cosas, incluido el software, ha tenido tanto que ver con las personas como el éxito con los materiales o la tecnología. Si aspira a convertirse en gerente de proyectos, este libro lo ayudará a comprender las cosas que pueden salir mal en el desarrollo de software y le brindará consejos prácticos o trabajar con, organizar y administrar equipos.

4. No me hagas pensar, revisitado: un enfoque de sentido común para la usabilidad web

>> compra en Amazon

Si vas a leer un libro sobre usabilidad, ¡hazlo este! Don’t Make Me Think es un gran recurso para cualquier desarrollador web que quiera crear sitios web, sitios móviles o aplicaciones móviles que sean mucho más fáciles de usar. El libro está cargado de información útil que se presenta de una manera clara y concisa que podría ser entendida tanto por audiencias técnicas como no técnicas por igual.

5. El programador pragmático: de oficial a maestro

>> compra en Amazon

Otro viejo, pero bueno, que sigue resistiendo la prueba del tiempo. El programador pragmático es una colección de lecciones y recomendaciones para desarrolladores de software. El libro contiene un conjunto de consejos numerados, alrededor de 70 de ellos, que se recogen en una sola tarjeta extraíble situada en la parte posterior del libro. Los consejos por sí solos pueden parecer obvios, pero contienen algunas dimensiones sorprendentes que ayudarán a fortalecer su carrera de programación y perfeccionar su oficio.

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

>> compra en Amazon

Un código mal escrito puede poner de rodillas a un proyecto, ¡por eso es tan importante desarrollar un gran código! En Clean Code, el “Tío Bob” Martin comparte consejos y ejemplos sobre cómo crear un mejor código. El libro se sumerge en los principios y las mejores prácticas de escribir código limpio, y también presenta estudios de caso cada vez más desafiantes que desafían a los lectores a pensar en lo que está bien con el código y qué tiene de malo. Si bien los ejemplos en Clean Code se dan en Java, son aplicables a casi todos los lenguajes de programación.

SUGERENCIA: lea Clean Code después de completar Code Complete ya que trata algunos de los mismos temas pero a un nivel superior.

7. Programación de perlas

>> compra en Amazon

Este es un libro clásico para novatos que enseña los conceptos básicos para resolver problemas. Si resuelve los problemas por su cuenta (sin mirar hacia el futuro), aprenderá mucho y será un programador mucho más fuerte con una comprensión más profunda de los algoritmos y el diseño de algoritmos.

8. Descifrando la entrevista de codificación: 150 preguntas y soluciones de programación

>> compra en Amazon

Este es uno de los libros de referencia para programar entrevistas si buscas conseguir un concierto en una empresa líder como Amazon, Apple, Facebook, Google o Microsoft. Como sugiere el título, el libro contiene 150 preguntas de programación que puede encontrar en las entrevistas, y luego desglosa cómo resolverlas. El resto del libro se centra en los aspectos no codificantes del proceso de la entrevista, como la preparación de la entrevista, la preparación del currículum, la preparación conductual, etc. Definitivamente uno de los mejores libros de entrevistas de programación que existen. Otro buen libro de preparación es Introducción a los algoritmos, que se considera la “biblia de los algoritmos”.

9. Soft Skills: el manual de vida del desarrollador de software

>> compra en Amazon

Para la mayoría de los desarrolladores de software, la codificación es la parte divertida. Las partes difíciles implican tratar con clientes, pares y gerentes, mantenerse productivos, lograr la seguridad financiera, etc. Este libro cubre todo lo demás, aparte de la codificación, desde la carrera profesional hasta la marca personal, los blogs, el aprendizaje, la enseñanza, las finanzas e incluso el estado físico y las relaciones.

Libro de bonificación: cero errores y programa más rápido

>> compra en Amazon

La autora de Zero Bugs pasó dos años investigando todas las técnicas para evitar errores que pudo encontrar. ¡Este libro contiene lo mejor de ellos! Incluye consejos y técnicas útiles, y presenta información de una manera fácil de digerir y llevada a la vida con historias y metáforas que la hacen una lectura realmente agradable (y memorable).

Related Content

Estos son mis libros favoritos que cubren los dos lados diferentes de la programación de aprendizaje: modelos mentales intuitivos + mucha práctica de codificación

Por lo general, recomiendo estos libros para las personas que solicitan admisión a Codesmith

Aprendiendo a programar – Stephen Foote – Aprendiendo a programar

  • El libro que más recomiendo para aprender JS. Más que cualquier otro recurso, te ayuda a desarrollar modelos mentales intuitivos de conceptos y tiene proyectos fantásticos para trabajar , especialmente una extensión de Chrome que reemplaza todas tus imágenes de Facebook con gatos.


JavaScript elocuente – Capítulos 1-6 – JavaScript elocuente

  • Cubre variables, funciones, objetos y lo que significa ‘escribir instrucciones en una computadora’


JS para gatos – JavaScript para gatos

  • Incluso más intuitivo (pero más básico) que Eloquent JS: el lugar para comenzar.


Bonificación (no es un libro)

‘Javascripting’, ‘Scopes, Chains and Closures’, ‘Functional Javascript’ – todo de NodeSchool – NodeSchool

  • Proyectos para completar en la línea de comandos con indicaciones que son lo suficientemente abiertas para que investigue qué hacer pero lo suficientemente claro como para no darse por vencido


Estos recursos cubren los dos lados de aprender a codificar:

  1. Explicación intuitiva de los conceptos subyacentes.
  2. Codificación a través de desafíos (o proyectos de construcción) para convertirse en programador

1. Clases intuitivas (JavaScript elocuente, JS para gatos): modelos mentales y te ayudan a entender por qué lo que estás aprendiendo es importante. El 10% de su tiempo debe dedicarlo a desarrollar estos modelos mentales.

2. Codificación a través de desafíos (Javascripting, Scopes, Chains and Closures, Functional Javascript): hay una razón por la cual las personas que solo ven videos de programación no se convierten en programadores, es porque no están programando. El 90% de su aprendizaje debe gastarse construyendo y trabajando a través de desafíos.

Recomiendo usar el aprendizaje de Steven Foote y la escuela nodal por encima de todo


Esa es la forma en que abordamos la enseñanza de JavaScript en Codesmith. El 90% del aprendizaje de nuestros estudiantes en la primera parte del programa es programación en pareja a través de desafíos, junto con conferencias guiadas por la intuición. Es la única forma de aprender todo lo que enseñamos en 12 semanas.

Solo te daré una lista de libros que he disfrutado a lo largo de los años. Ten cuidado; están en todos los ámbitos en términos de dificultad, lenguaje y objetivos.

Rubí:

  • Learn to Program, Second Edition (The Facets of Ruby Series): Chris Pine: Si eres un principiante absoluto, es una introducción decente a los conceptos básicos que usan el lenguaje Ruby. Si ya sabes algunas cosas, puede ser una pérdida de tiempo.
  • Ruby principiante: de principiante a profesional (Voz de experto en código abierto): Peter Cooper: Una inmersión mucho más profunda en el lenguaje Ruby. Él lo guiará a través de proyectos básicos a intermedios desde cero, hablará sobre buenas bibliotecas y marcos de terceros, etc. Si desea aprender Ruby, es difícil superar este libro para comenzar (aunque ahora está un poco desactualizado).
  • Diseño práctico orientado a objetos en Ruby: An Agile Primer (Addison-Wesley Professional Ruby) 1, Sandi Metz: el mejor libro que he leído para comprender realmente la programación orientada a objetos (que es un concepto que hay que entender para cualquier programador ) Está en Ruby, pero se trata menos del lenguaje y más de los principios y conceptos de diseño orientado a objetos. Realmente cambió la forma en que escribo el código.

Javascript:

  • JavaScript: las partes buenas: Douglas Crockford: el único libro que he leído en Javascript, todo lo demás ha sido de tutoriales en línea y solo profundizando en el código y resolviendo cosas. Pensé que este libro era esclarecedor porque Crockford es muy obstinado (y probablemente correcto) sobre las cosas que hacen que Javascript sea bueno o malo. Antes de eso, lo pensé en términos de lo que me gustó vs lo que no me gustó, que se basó completamente en mi conocimiento y experiencia muy limitados.

C:

  • Amazon.com: El lenguaje de programación C (9780131103627): Brian W. Kernighan, Dennis M. Ritchie: un libro famoso de los desarrolladores del lenguaje. Es genial aprender un lenguaje como C después de haber trabajado con Ruby y Javascript porque te ensucias las manos con lo que está sucediendo debajo del capó para hacer que todo el magia de alto nivel funcione.
  • Amazon.com: Aprenda C de la manera difícil: Ejercicios prácticos sobre los temas computacionales que sigue evitando (como C): Mucha gente odia este libro, pero realmente me gustó el enfoque totalmente basado en proyectos. Aprender a construir algo como un servidor web desde cero fue realmente genial.

Una cosa a tener en cuenta al aprender a través de libros, especialmente con el desarrollo web; El panorama está cambiando a un ritmo tan rápido que los libros se vuelven obsoletos rápidamente. Debe complementar su aprendizaje con tutoriales actualizados, lectura de documentación, publicaciones de blog, etc.

También haría algunas búsquedas para otras discusiones de Quora relacionadas con esto, ya que se han hecho y respondido muchas preguntas similares aquí a lo largo de los años. Aquí hay una buena. ¿Cuáles son algunas de las mejores formas de aprender a programar?

¡Mucha suerte en tu aprendizaje!

Si es totalmente nuevo en programación, probablemente debería encontrar un libro sobre el lenguaje en el que está comenzando. Probablemente valga la pena obtener uno que cubra la Programación Orientada a Objetos desde el principio. Más allá de eso:

“The Art of Computer Programming” ( http: //www-cs-faculty.stanford.e …) por Donald Knuth es muy recomendable. Disfruté las partes que leí, aunque tengo otros favoritos que personalmente prefiero más.

“Code Complete” de Microsoft Press está bien hecho y se aplica a la programación en general, no solo a las tecnologías MS. ( http://www.amazon.com/Code-Compl …)

“Beautiful Code” tiene muchos ejemplos excelentes para aprender. ( http://www.amazon.com/Beautiful- …)

“¡Envíalo!” fue genial por su detalle sobre muchas cosas que ayudarán fuera de la codificación directa. ( http://www.amazon.com/Practical- …)

Los libros de texto Deitel y Deitel son buenos para idiomas específicos. Y también vale la pena un buen libro sobre Patrones de diseño (quizás “Head First Design Patterns”).

Aquí hay algunos excelentes libros gratuitos que lo ayudarán a aprender programación:


Javascript elocuente es una introducción moderna a la programación y JavaScript de Marijn Haverbeke. También hay una versión anotada de JavaScript Eloquent de Gordon Zhu.


¡JavaScript para gatos de Max Ogden es una introducción para nuevos programadores que es tan fácil que su compañero humano también podría hacerlo!


You Don’t Know JS es una serie de libros de Kyle Simpson que profundiza en los mecanismos centrales del lenguaje JavaScript.


Human JavaScript de Henrik Joreteg es un libro sobre un conjunto específico de herramientas, patrones y enfoques optimizados para las personas.


Speaking JavaScript por Axel Rauschmayer fue escrito para ayudar a los programadores a aprender JavaScript de manera rápida y adecuada, y también para profundizar sus habilidades existentes y / o buscar temas específicos.


Explorando ES6 cubre ECMAScript 6 con gran detalle, pero está estructurado para que también pueda obtener rápidamente una descripción general si lo desea.


JavaScript Allonge de Reginald Braithwaite cubre la programación funcional en JavaScript.


JavaScript Spessore de Reginald Braithwaite está escrito para el lector que ha leído JavaScript Allongé. Cubre funciones, cierres y prototipos.


¿Qué es el código? es un ensayo interactivo de Paul Ford sobre qué es el código y por qué es importante.

La Guía de programación funcional más adecuada del profesor Frisby cubre la programación funcional en JavaScript.


La programación de aplicaciones JavaScript de Eric Elliot se centra en la codificación intermedia de JavaScript.

Estos deberían ayudarte. Si desea algunos recursos gratuitos adicionales, como podcasts y videos, consulte esta publicación de blog: 25 Recursos gratuitos para nuevos desarrolladores de JavaScript.

Asumiré que lo que está preguntando es: “¿Cuáles son los conceptos que son universales para toda la programación?” La programación es el proceso de enseñarle a una computadora a hacer algo, y eso es muy similar a enseñarle a un niño a hacer algo. Requiere la capacidad de dividir los problemas en partes lógicas. Requiere la capacidad de pensar de manera abstracta.

Al final de esta respuesta, enumeraré algunas actividades que podrían ayudarlo a construir las estructuras lógicas que serán útiles al programar, pero no me molestaría en posponer el aprendizaje del programa. Puede estar cometiendo un error que es común entre los nuevos programadores, y es que el lenguaje que aprenda por primera vez será el que utilizará a lo largo de su vida de programación. Esto está tan lejos de la verdad como decir que la primera herramienta de carpintería que recoja sería la única herramienta que usará para trabajar la madera durante toda su carrera. Por lo tanto, no se preocupe por el lenguaje de programación para comenzar. Cualquiera lo hará siempre que tenga la capacidad de depurarlo. Python, Java, C #, JavaScript, Visual Basic serían opciones razonables.

Tener la capacidad de depurar significa que ha encontrado un depurador para ese idioma para su sistema operativo. Como programador principiante, puede ser invaluable recorrer su programa en el depurador, ver los valores de las variables cambiando sobre la marcha, etc. (como profesional experimentado también es absolutamente necesario).

Entonces, aquí está esa lista:

  • Ajedrez: te enseña a pensar con anticipación y visualizar una solución compleja de múltiples variantes. Realmente cualquier juego de estrategia, Go es otro.
  • Juegos de Tower Defense: enseñe procesos iterativos, encuentre la solución de un conjunto fijo de herramientas, cómo pequeños cambios de entrada pueden causar grandes cambios de salida
  • Mavis Beacon enseña a escribir (o cualquier entrenador de mecanografía similar): como programador, escribirás mucho. Por lo tanto, cuanto mejor escriba, menos será el tipo de escritura que se interponga en su proceso de pensamiento.
  • Juegos de lógica – Mi favorito es Sherlock – Everett Kaser Software
  • Cualquiera de una serie de libros sobre pensamiento lógico y el método científico.

Si pienso en más, los agregaré más tarde.

No creo que sea posible, aunque probablemente sea difícil. Eso es como pedirles a los niños pequeños que piensen sin hablar. Sin embargo, si desea estudiar los fundamentos sin programación, estudie Dykstra – Edsger W. Dijkstra
En mi entendimiento / memoria, casi nunca usaba una computadora, y sus colegas tenían que rogarle que hiciera un correo electrónico.
Citar:
A pesar de haber inventado gran parte de la tecnología del software, Dijkstra evitó el uso de computadoras en su propio trabajo durante muchas décadas. Incluso después de sucumbir al estímulo de sus colegas de UT y adquirir una computadora Macintosh, la usó solo para correo electrónico y para navegar por la World Wide Web. [102] Dijkstra nunca escribió sus artículos usando una computadora. Prefirió confiar en su máquina de escribir y más tarde en su pluma Montblanc. [103] El instrumento de escritura favorito de Dijkstra era la pluma estilográfica Montblanc Meisterstück. En repetidas ocasiones probó otros bolígrafos, pero ninguno desplazó al Montblanc.

Esta pregunta pide una respuesta puramente subjetiva. ¿Está buscando una respuesta específica de lenguaje o programación en general?

Sostengo que algunos libros son definitivamente mejores que otros, sin embargo, nuestra evaluación de “mejor” depende de nuestros estilos de aprendizaje y experiencia individuales (principiante, intermedio o avanzado).

Visite Libros de tecnología, libros electrónicos y videos | donde encontrarás miles de libros sobre programación. Suscríbase a MAPT Pro y tendrá acceso a más de 5,000 libros electrónicos y videos y 40 nuevos títulos por mes.

También puedes visitar Manning | Hogar donde también encontrarás excelentes libros. ¡Aproveche el Programa Manning Early Access (MEAP) para leer libros capítulo por capítulo a medida que se escriben!

Las fuentes de numerosos títulos de libros abundan en línea desde editores específicos hasta las compras en línea de Amazon para productos electrónicos, indumentaria, computadoras, libros, DVD y más

Los estantes y las bibliotecas de las librerías también ofrecen una selección completa de libros sobre programación. Sea más específico en su solicitud y podemos ayudarlo a refinar su búsqueda.

“Los programadores parecen haber dejado de leer libros. El mercado de libros sobre temas de programación es minúsculo en comparación con el número de programadores que trabajan. En cambio, felizmente programan, usando prueba y error. Cuando no pueden resolver algo, escriben una pregunta en Google “.

Lista de los 10 mejores libros para programadores:

1.Coders en el trabajo

Si tienes curiosidad acerca de la vida como programador, Coders at Work es el libro para ti.

2.Código completo

Se considera la enciclopedia de la codificación práctica y una lectura obligada para cualquier programador profesional.

3.El programador pragmático

El programador pragmático es una colección de lecciones y recomendaciones para desarrolladores de software.

4 código limpio

Este comparte consejos e ideas sobre cómo hacer un mejor código.

5.Programación de perlas

Este es un libro clásico para novatos que enseña los conceptos básicos para resolver problemas.

6. Cómo descifrar la entrevista de codificación: 150 preguntas y soluciones de programación

Este es uno de los libros de referencia para programar entrevistas si buscas conseguir un concierto en una empresa líder como Amazon, Apple, Facebook, Google o Microsoft.

7. Habilidades blandas: el manual de vida del desarrollador de software

Esto implica tratar con clientes, pares y gerentes, mantenerse productivo, lograr seguridad financiera, etc. Este libro cubre todo lo demás, aparte de la codificación, desde la carrera profesional hasta la marca personal, los blogs, el aprendizaje, la enseñanza, las finanzas e incluso el estado físico y las relaciones.

8. Errores cero y programa más rápido

La autora de Zero Bugs pasó dos años investigando todas las técnicas para evitar errores que pudo encontrar. ¡Este libro contiene lo mejor de ellos! Incluye consejos y técnicas útiles, y presenta información de una manera fácil de digerir y llevada a la vida con historias y metáforas que la hacen una lectura realmente agradable (y memorable).

9. Romper la entrevista de codificación

Esto ayudará a enseñarle lo que necesita saber y le permitirá rendir al máximo para las entrevistas.

10. No me hagas pensar

El libro está dirigido al diseño web, sus lecciones son válidas para todo tipo de desarrollo.

Buena suerte.!

Si bien no es barato ni completo, una combinación de libros caros más antiguos me da el visto bueno.

Como referencia (definitivamente no tutorial), necesita las ediciones actuales de The Art of Computer Programmin g (TAOCP) de Knuth. Desafortunadamente, no ha completado los volúmenes, y no lo hará por algún tiempo. Las críticas dicen que su uso de los lenguajes de estilo ensamblador MIX o MMIX es obsoleto y que un lenguaje de orden superior como Pascal o C está en orden, pero creo que, en muchos sentidos, hace un caso convincente para cubrir aspectos de la arquitectura del hardware de la computadora que afectan el software.

Knuth también tiene una serie de otros libros, incluidos 8 volúmenes de documentos seleccionados. En particular, podría alentar propio Vol. 1 Artículos seleccionados en informática . También me gusta el vol. 8 documentos seleccionados sobre diversión y juegos. También tiene una serie de otros libros, sobre todo en matemática discreta titulada Concrete Mathematics . Este último libro no es fácil de leer. Otro libro que mencionaré, importante para 1 artículo, más adelante (abajo) es la programación literaria .

Tenga paciencia conmigo un libro más: me gustan mucho los algoritmos de Niklaus Wirth + Estructuras de datos = Programas . Aquí muestra la importancia de las estructuras de datos dinámicas y cómo los algoritmos influyen en ellas. El libro tiene errores tipográficos y no ha sido reimpreso, pero desarrolla un compilador simple para un lenguaje llamado PL / 0 en forma iterativa paso a paso, que era la cosa en aquel entonces.

Más fácil de leer y encontrar y pragmático:
Los elementos del estilo de programación de Kernighan y Plauger.
Herramientas de software de Kernighan y Plauger.
Perlas de programación y más Perlas de programación por Jon Louis Bentley: estas fueron Comunicaciones de la Asociación. de la columna de Computing Machinery (CACM) de Bentley. En particular, hay una columna que tiene a Knuth como una “ostra invitada” especial. Este documento también se encuentra en Programación literaria , en el que Knuth desarrolla una tabla de símbolos en lenguaje Pascal. Lea esta parte del artículo. NO lo lea en detalle, pero obtenga una idea aproximada de la estructura de datos de Trie. ¿Por qué? Porque la breve crítica al final es de Doug McIlroy, de Bell Lab, quien usa herramientas y tuberías de software Unix para hacer un trabajo corto del trabajo de Knuth. Por lo general, hay varias formas de realizar una tarea. Este es el ensayo corto más importante en el que pienso. Todos estos son libros cortos, delgados y fáciles de leer.

Esto también llega al importante entorno de programación de Unix de Kernighan y Pike. Esto funciona para una forma más sofisticada de pensar sobre la programación que la mayoría de los libros de lenguaje de programación puro. Tiene el mismo grosor que el lenguaje de programación The C de Kernighan y Ritchie.

Bentley tiene programas de escritura eficiente . También corto y delgado.

Otros libros dependen no solo de los idiomas y sistemas operativos que aprende. Si tiene un código numérico, recomendaría diferentes libros (por ejemplo, Recetas numéricas ) que decir AI, o robótica, o gráficos por computadora.

Lee mucho.

Aquí, sin ningún orden en particular, los libros tienen la forma en que codifico y la forma en que pienso sobre las tareas de codificación y computación en general:

Pensando en Java por Bruce Eckels
El lenguaje de programación Ruby de David Flanagan y Yukihiro Matsumoto
Learning Perl por Tom Christiansen y Randal Schwartz (fwd. Por Larry Wall)
La guía de Why (conmovedora) de Ruby de Why the Lucky Stiff
El lenguaje de programación C por Dennis Richie y Ken Thompson
El arte de la programación de computadoras: Volumen 3: Clasificación y búsqueda por Donald Knuth
La exhibición visual de información cuantitativa por Edward Tufte
La Guía avanzada de secuencias de comandos Bash ( Guía avanzada de secuencias de comandos Bash) de Mendel Cooper
La Guía de referencia del programador Commodore 64 de CBM

El mejor libro de programación que conozco es, sin duda, Estructura e interpretación de programas de computadora de Harold Abelson y Gerald Sussman. Enseña los principios más importantes de la informática. Está fuertemente basado en la ingeniería y, por lo tanto, requiere algunos conocimientos básicos en matemáticas avanzadas, por lo que puede ser difícil para algunas personas. El estilo del libro es atemporal, y definitivamente vale la pena intentarlo. Excepto que el texto completo está disponible de forma gratuita, también hay conferencias que acompañan en youtube:

También hay un libro muy bueno sobre lenguajes de programación llamado Fundamentos de lenguajes de programación de Daniel Friedman. Está más centrado en la noción de un lenguaje de programación, por lo que debería ser leído por lectores que ya tenían algo de práctica en programación.

También recomiendo el guión Introducción a la programación funcional de John Harrison, que enseña muy bien las nociones más básicas de programación de computadoras, incluso para los principiantes.

Otros libros clásicos son The Practice of Programming de Brian Kernighan y Rob Pike, The Elements of Programming Style de Kernighan y Phillip Plauger y The Pragmatic Programmer de Andrew Hunt y David Thomas.

Cuando se trata de la robustez del software, creo que vale la pena leer “Creación de sistemas distribuidos confiables en presencia de errores de software” de @Joe Armstrong.

Una muy buena es Clouds to Code de Jesse Liberty.

Es un libro viejo. Pero cuenta la historia completa de la construcción de una aplicación de telefonía avanzada, usando Microsoft C ++ SQL Server y tarjetas Dialogic VoIP.

La brillantez del libro es que puedes leer sobre todas las decisiones, errores, compromisos y presiones involucradas en un proyecto comercial del mundo real. Y cómo su autor se enfrentó a cada uno.

Hay muchos diagramas de relación de uml, código y entidad para complacernos a los tipos técnicos. Pero es la narración detrás de las decisiones lo que es único.

Muy recomendable

Aquí están los libros que recomendé:

C ++:

  • El lenguaje de programación C ++, (4ª edición) por Bjarne Stroustrup
  • Saltando a C ++ por Alex Allain

Pitón:

  • Aprenda Python de la manera difícil learnpythonthehardway.org/book/

C#:

  • El libro amarillo de programación C # por Rob Miles

Aprendí algo de Java de Stanford Engineering Everywhere enseñado por el profesor Merhan Sahami y leyendo algunos códigos en Github.

Hay otros buenos libros como la serie Head First de O’Reilly.

Pitón

  • Sumérgete en Python – Mark Pilgrim
  • Python principiante – Magnus Hetland
  • (El libro de Lutz se considera clásico, pero demasiado grande para llevar, demasiadas páginas para leer)

Rubí
El lenguaje de programación Ruby – Flanagan y Matz

C ++
Programación Orientada a Objetos en C ++ – Robert Lafore

C
K & R

Erlang
Programación ERLANG – Simon Thompson y Francesco Cesarini

PERL

  • El libro “Camel” de Larry Wall et al.
  • El libro “Ilama” de Randal Shwartz et al.
  • Minimal Perl – Tim Maher
  • Perl por ejemplo – Ellie Quigley

Java

  • Programador de Java certificado por Sun – Kathy Siera, Bert Bates (comience con esto, luego pase al siguiente)
  • El lenguaje de programación Java – Ken Arnold, James Gosling
  • Java efectivo – Joshua Bloch

Consejo :
Aprende Python. Es simple y poderoso. Utilizado en informática científica pero no ampliamente utilizado en empresas. Pero disfrutará de la codificación porque la sintaxis es intuitiva / amigable para el usuario. Podrá implementar algoritmos o escribir scripts geniales fácilmente con este lenguaje.

Aprende Java Casi todos los negocios de Fortune 500 se ejecutan en él. Muchos marcos y API. Lo necesitará tarde o temprano. No escuches a algunos fanáticos que te dicen cosas incorrectas sobre este idioma language

Y no hay necesidad de aprender demasiados idiomas. Si conoce Python, debería poder recoger Ruby, y no habrá necesidad de aprender Perl. Si conoces a Erlang, deberías poder recoger a Haskell, etc. Aprenda según la demanda …

Recomiendo comenzar tan bajo como sea posible. Comencé con el código de máquina en un BBC Master y me ayudó mucho. Cuanto más alto sea el lenguaje, mayores serán las capas de abstracción y esto puede conducir a malentendidos, suposiciones incorrectas e ignorancia general sobre cómo se ejecuta el código que está escribiendo en el procesador. Esto a su vez puede conducir a todo tipo de prácticas de codificación malas y descuidadas que (como los malos hábitos de conducción) se afianzan.
La siguiente pregunta que debe hacerse es esta: ¿qué voy a programar? ¿Va a escribir código basado en hardware, aplicaciones web, código de Windows, código basado en Linux, código de teléfono móvil, software de base de datos (aunque la mayoría del software necesita una buena base de datos, otra habilidad que recomendaría aprender temprano), software científico, software distribuido, etc. etc. etc. Una vez que haya respondido a esta pregunta (o haya hecho una buena suposición, no lo sabrá hasta que comience en el mundo ‘real’), entonces puede elegir un idioma para comenzar.
Otra habilidad aparte de las bases de datos que no puede prescindir en el mundo de la programación es el lado del diseño. Cosas como UML, Agile, cascada, etc. Sin embargo, esto no es nada sin habilidades claras de comunicación y un buen consejo que leí aquí en Quora fue “aprender comedia de pie” (disculpas al autor original, no puedo recordar su nombre) ya que esto le enseña una gama de habilidades útiles (incluido el rechazo) esenciales para el programador consumado.
Simplemente no se limite a una metodología para comenzar (OOP, procesal, funcional, etc.) ya que los lenguajes van y vienen junto con las metodologías que los rodean. Todos los signos apuntan a un cambio de paradigma importante en el mundo de la programación (en mi opinión) e incluso si este no es el caso, la evolución regular del campo produce muchos pequeños cambios, por lo que ser flexible es una gran ventaja.
También evitaría entrar en la mentalidad de ‘Debo usar este lenguaje’, casi todos los idiomas se pueden aprender si entiendes ‘cómo’ codificar, es solo una cuestión de aprender la sintaxis y trabajar en una forma más o menos detallada (la verbosidad no es una preocupación para un programador de bajo nivel ya que generalmente cuanto más bajo es el nivel, menos detallado es el código).
Dicho todo esto, un buen lugar para comenzar es la mecánica detrás del código en lugar de un lenguaje específico. Los buenos libros para esto, en mi opinión, son (todos los números entre paréntesis son los códigos ISBN-13),

Piensa como un programador por Spraul, V. (978-1-59327-424-5)
Escriba Great Code (vols I y II) por Hyde, R. (978-159327-003-2 y 978-159327-065-0)
Código completo, 2ª ed. por McConnell, S. (978-073561-967-8)

Mi último consejo es: hazlo. No solo leas sobre eso o escuches o mires, hazlo. Al igual que cualquier habilidad, el hacer es la cosa, el dominio proviene de la repetición y más repetición.
Ah, y cualquiera de los libros y consejos enumerados aquí será útil, estoy seguro, si te esfuerzas. Buena suerte.

El arte de la programación de computadoras . También podría aprender a esforzarse desde el primer momento. El mejor trabajo en informática. Por lo que cubre, ningún otro trabajo lo hace mejor. Un trabajo de referencia que puede utilizar para toda la vida.

El pequeño intrigante . Los últimos tres capítulos. Presta atención. Si no encuentra la mayoría o la totalidad de este libro fácil o divertido, probablemente esté en el campo equivocado.

Los fundamentos de los lenguajes de programación , tercera edición . Intérpretes, intérpretes, intérpretes. Dominarlos

LISP en piezas pequeñas . Intérpretes, intérpretes, intérpretes.

SICP Cursos revolucionarios de pregrado CS.

Casi todos los libros que usan lenguajes derivados de ML como lenguaje de implementación . Órdenes de magnitud mejor que las que no. No he encontrado uno malo.

Lee todo

Un error común es no leer completamente el material explicativo. Ir directamente a los ejemplos de codificación sin leer la explicación adjunta de cómo funciona el código es una receta para el fracaso. La razón por la que compra un libro de computadora es para obtener el código de muestra junto con la explicación que lo acompaña.

Los libros de computadora a menudo contienen información adicional que debe resaltar o marcar a medida que avanza, como material de referencia que le tomaría un tiempo considerable investigar por su cuenta. Puede usar el material de referencia a medida que codifica para descubrir otras formas de hacer cosas u otro tipo de entradas para probar mientras trabaja en los ejemplos.

Por supuesto, un solo libro no puede enseñarle todo sobre los complejos entornos de codificación actuales. Por lo tanto, muchos libros de computadora también citan recursos en línea cuidadosamente seleccionados que pueden contener la información exacta que está buscando.

Bueno, depende completamente de qué idioma desea aprender, ya que hay varios idiomas en el mercado, desde C, C ++, python, Java hasta scripts de idiomas. Aunque C y C ++ se consideran como lenguaje de programación de inicio.
Entonces, si desea aprender sobre C, “Let us C” de “Yashvant Kanetkar” puede ser un buen libro para comenzar, ya que tiene un lenguaje muy simple y ejemplos interesantes.
Si decide comenzar con C ++ o Java (si salta directamente a OOP antes del programa de procedimiento), entonces los libros de “Balaguruswamy” son la mejor causa por las mismas razones. También puede encontrar los pdf de este libro en línea. Pero se consideran como su base si le gusta la programación.

Personalmente me encantan las primeras series de Head, realmente disfruto leerlas. El concepto es muy único, lo llaman metacognición: pensar en pensar. Te enseñará de una manera que los conceptos estén claros en tu mente para siempre

More Interesting