¿Cuáles son los libros recomendados para comenzar C y C ++?

El lenguaje de programación C de Kernighan y Ritchie [1] ha sido durante mucho tiempo la introducción canónica a C. Se las arregla para introducir conceptos universales que serán útiles en todos los lenguajes, como patrones de diseño básicos, estructuras de datos y convenciones, al tiempo que enseña el núcleo del lenguaje C en su totalidad. Con menos de 300 páginas, K&R sigue siendo el libro de programación más delgado de mi estante. Esto no es indicativo de incompletitud o falta de ejemplos, sino más bien de un enfoque refrescante y conciso. Los ejercicios están llenos de valores y son bastante útiles para desarrollar la comprensión. Cubren todo, desde un tradicional “¡Hola, mundo!” programa (que Kernighan aparentemente inventó [2]) para la aritmética de puntero básico, para implementaciones de tablas hash, listas enlazadas y árboles. Incluso si ha visto todas estas estructuras, implementarlas en un lenguaje de bajo nivel utilizando la aritmética de puntero mientras administra la memoria usted mismo será extremadamente valioso para desarrollar una intuición para pensar en las estructuras de datos en general.

Como nunca encontré un libro introductorio de C ++ realmente bueno, dejaré esa parte de la pregunta para que otra persona responda. En cualquier caso, querrás sentirte muy cómodo con C antes de sumergirte en C ++.

[1] http://www.amazon.com/Programmin…
[2] http://en.wikipedia.org/wiki/Hel…

TL; DR

Mi recomendación principal es esta, ya que es un libro que cubre una gran cantidad de
lo que quieres saber sobre programación y depuración de Linux con un alto
relación señal / ruido se llama programación avanzada de Linux.

http://www.amazon.com/Advanced-L

La belleza de C es que es pequeño y poderoso porque brinda acceso directo a las pocas cosas que las computadoras realmente hacen. Los elementos en bruto del universo informático.

Dicho eso es tan poderoso como las bibliotecas y los sistemas operativos a los que lo usa para acceder.

Soy tan fanático de los libros canónicos de C y he regalado más copias de K&R a jóvenes acólitos de las que puedo recordar. Un Libro sobre C fue otro de los primeros favoritos, pero no recomiendo ninguno de estos.

Recomiendo obtener un libro que aplique C al dominio del problema que le interese, que cubra las bibliotecas y las características del sistema operativo que usará y cómo se accede a ellas en C.

Mi recomendación principal es esta, ya que es un libro que cubre una gran cantidad de
lo que quieres saber sobre programación y depuración de Linux con un alto
relación señal / ruido se llama programación avanzada de Linux.

http://www.amazon.com/Advanced-L

En Windows, los libros de Petzold están fechados como fundamentales.

http://www.amazon.com/Programmin

Para una cobertura de Linux comparable, recomiendo la interfaz de programación de Linux.

http://www.amazon.com/Linux-Prog

Si los juegos son su foco, obtenga algo específico para su plataforma como estos en XNA y Unity.

http://www.amazon.com/Learning-X

http://www.amazon.com/Beginning-

Hay dos libros que leí sobre C y creo que son geniales para empezar: C Programming Language de K&R y Expert C Programming: Deep Sea Secrets de Peter van Den Linden.

Para C ++, a diferencia de lo que se ha escrito, hay mucha buena introducción.

1. C ++ acelerado por Andrew Koenig es el más útil porque te pone al día rápidamente sin pretender enseñar todo.

2. Después de este libro, elegiría Effective C ++ y Effective STL, ambos de Scott Meyers. Use cppreference.com como referencia en línea.

3. Para las funciones de C ++ 11, C ++ Concurrency in Action (olvido el nombre del autor, publicación de Manning) es un libro brillante. Pero puede o no necesitarlo dependiendo de lo que esté haciendo. Por lo demás, la Biblioteca estándar de C ++ de Nicolai Josuttis: Tutorial y guía de referencia (edición C ++ 11) completará su comprensión de la biblioteca y el lenguaje estándar de C ++.

Más allá de la introducción, hay una gran cantidad de publicaciones en C ++:

4. Pero antes de comenzar con cualquiera de ellos, elegiría Modern C ++ Design de Andrei Alexandrescu, solo para leer los primeros tres capítulos, si no más. De hecho, este es un libro que comenzaría después de # 1 y # 2.

5. Algunos otros libros excelentes son C ++ Common Knowledge (Steve Dewhurst) y C ++ Coding Standards (Alexandrescu and Herb Sutter). Esta es la destilación más efectiva de las técnicas y principios de codificación en C ++.

Algunos supuestos clásicos sobre el tema: el lenguaje de programación C ++ de Bjarne Stroustrup, los C ++ IOStreams y Locales de C ++ de Angelika Langer, etc. son libros muy prescindibles, con el debido respeto.

Entre los libros que mencioné, dejando de lado a Josuttis, ninguno de los libros son tomos, todos son libros prácticos y muy, muy legibles.