¿Cuáles son algunos libros de lectura obligatoria para un programador de C ++?

Además de los libros mencionados por Shweta, encontré los siguientes 3 libros realmente muy útiles, ya que te enseñan algo además del lenguaje en sí. James Coplien escribió 2 libros que tratan sobre las expresiones idiomáticas de la programación en C ++ y cómo explotar las características de múltiples paradigmas de C ++ para modelar su dominio. Los 2 libros son:

  1. Estilos y modismos avanzados de programación en C ++: James O. Coplien: 9780201548556: Amazon.com: Libros
  2. Diseño de varios paradigmas para C ++: James O. Coplien: 0785342824674: Amazon.com: Libros

Si desea aprender todos los trucos de las plantillas en C ++ y cómo diseñar artefactos genéricos usando C ++, entonces Modern C ++ Design: programación genérica y patrones de diseño aplicados: Andrei Alexandrescu: 9780201704310: Amazon.com: los libros deben ser su amigo. Explora los rincones oscuros de las plantillas de C ++ y le enseña una rica receta sobre cómo hacer que su diseño sea genérico.

Personalmente, encontré los 3 libros anteriores maravillosamente satisfactorios para leer y aprender.

El programador pragmático: de oficial a maestro por Andrew Hunt y David Thomas.
C ++ efectivo y C ++ más efectivo por Scott Meyers.
Programación práctica en C ++ por Steve Oualline.
Escriba Great Code, vol1 y 2 -> Randall Hyde
Pensando en C ++ -> Bruce Eckel
Diseño y evolución de C ++ -> Stroustrup
Excepcional y más excepcional C ++ -> Herb Sutter
Diseño moderno de C ++: Andrei Alexandrescu
Manual de C ++ por (Stanley Lippman, Josée Lajoie y Barbara E. Moo) Principios y prácticas de programación usando C ++ por Bjarne Stroustrup.

Las otras respuestas aquí cubren todos los buenos libros que deben leerse. La mayoría de los libros que he agregado a continuación son los que he leído. Y creo que pocos libros fueron extrañados. Por lo tanto, los agregó junto con los demás. Aquí va – 🙂

1) Pensando en C ++ – Vol1 y Vol 2 (Bruce Eckel) – Disponible para su compra en formato de árbol muerto y como una edición gratuita en línea aquí – http://www.mindviewinc.com/Index… . Eckel menciona que su libro debe ser leído para que te prepare para leer el próximo libro, es decir …

2) El lenguaje de programación C ++ (Bjarne Stroustrup) – Tenga en cuenta que este es un libro voluminoso y una primera lectura no tan fácil. Si ha leído los dos volúmenes de “Pensamiento en C ++” (mencionado en 1) arriba), navegará por esto bastante bien.
Ha escrito bastantes libros y vale la pena visitar su sitio aquí también: http://www.stroustrup.com/

Los anteriores son dos libros que hablan sobre el idioma y las facilidades que proporciona. Estos pueden ser “antiguos y anticuados” debido a las nuevas características que proporcionarán los estándares posteriores de C ++ (C ++ 11, C ++ 14, etc.). Consulte http://isocpp.org para obtener información.

También hay otros libros que hablan sobre el lenguaje y su uso. Algunos buenos que vienen a la mente son:

1) C ++ Primer – por Stanley Lippman et al. Elija la última edición y lea. Esto debería estar bien. He leído una edición anterior de este libro y este es un buen libro.

2) C ++ acelerado – por Andrew Koenig y Barbara E Moo. No he leído este libro, pero he escuchado muchos elogios por este libro. Y muchos buenos programadores recomiendan leer este libro.

Ahora, comprenderá el idioma y las facilidades que ofrece. Pero aún tendrá algunas preguntas en mente. ¡No temáis! Aquí está el próximo libro que aborda estos temas en forma de preguntas y respuestas para usted:

1) Preguntas frecuentes de C ++: por Marshall Cline et al. Disponible gratis en línea aquí – http://www.parashift.com/c++-faq/ También disponible en versión de árbol muerto. Tengo una edición anterior de este libro y es una buena lectura.

Luego viene la serie de libros que asumen que conoces C ++. Pero, ¿cómo los usarías de manera efectiva? El libro de Stroustrup habla sobre algunas cosas importantes en una sola línea. Sin embargo, esto puede no ser del todo claro para algunos de nosotros. Entonces, el siguiente conjunto de libros los cubre:

1) C ++ efectivo, C ++ más efectivo y STL efectivo Por Scott Meyers – Ha recibido muchas actualizaciones a lo largo de los años. Estos libros son realmente buenos para hacerte reflexionar sobre muchas situaciones que encuentras cuando estás codificando y también hay una fecha límite para cumplir 🙂 Leer sus libros te hace reflexionar sobre muchas situaciones que ocurren en tiempo real y cómo manejarlos Su último es Effective Modern C ++ que improvisa C ++ efectivo para cubrir las mejoras posteriores mencionadas anteriormente. Pero en el momento de escribir esto, cuando hay una enorme base de código heredado, leer sus otros “libros más antiguos” también ayuda.
Scott Meyers también habla sobre los 5 libros más importantes aquí: http://www.artima.com/cppsource/
Lea sus otros artículos en este sitio.

2) C ++ excepcional y C ++ más excepcional por Herb Sutter: similar en naturaleza a la serie C ++ efectiva. Una excelente lectura.

Por ahora, te darás cuenta de que, muchos problemas que surgen en C ++ están relacionados con el manejo de la memoria. También hay un libro exclusivo para eso:

1) Memoria como concepto de programación en C y C ++ por Frantisek Franek. He leído este libro hace mucho tiempo. Y puedo recordar que este es un buen libro que te hace pensar en muchos problemas de memoria que pueden ocurrir.

Ahora, sabría que hay muchas cosas que suceden “bajo el capó” en C ++. Te habrías dado cuenta de estas cosas cuando hubieras leído tu primer libro sobre este tema. Existe este libro clásico que aborda esto.

1) Dentro del modelo de objetos C ++ de Stanley B Lippman – ¡Sí! Es el mismo autor del libro de C ++ Primer. De hecho, en el prefacio de una de las ediciones de su libro que tengo (lo siento, no recuerdo la edición ahora), pide usar esto como compañero de C ++ Primer. Lamentablemente, este libro está agotado. Tuve la oportunidad de leer este libro porque la biblioteca de mi empresa lo había apilado. Si está leyendo este libro ahora, esto puede parecer un poco anticuado ahora, con muchas nuevas características que se agregan a C ++. ¡Pero, leer este libro te hace entender eso! sentimiento – un sentimiento de saber – “¡OK! Así es como funcionan las cosas a mis espaldas” :). Sugiero leer esto, justo después de leer cualquier primer libro.

A estas alturas, habría sabido que C ++ es una “federación de lenguajes de programación” y habría encontrado plantillas, y tendría la necesidad natural de comprenderlo y saber más al respecto. Un libro sobresaliente para eso sería:

1) Diseño moderno de C ++ de Andrei Alexandrescu: este libro trata solo de plantillas, plantillas y más plantillas. En el momento de escribir este libro, había escrito una biblioteca llamada loki y la mayor parte de lo que ha escrito en este libro son experiencias extraídas de eso. Puede o no usar la mayoría de las técnicas que él presenta en este libro. Pero, se sorprenderá de las posibilidades que se pueden lograr. ¡Esté atento a las implementaciones de patrones de diseño que ha hecho en este libro usando diseño basado en políticas!

Aunque no son libros, los siguientes videojuegos son un excelente material de aprendizaje. Esto es de Stephen T Lavavej, que trabaja en el equipo de C ++ en MS,

1) https://channel9.msdn.com/Series
2) https://channel9.msdn.com/Series

Y, finalmente, enséñese a programar en diez años 🙂 – http://norvig.com/21-days.html