2009-04-29 8 views
10

Después de The C Programming Language por Brian Kernighan y Dennis Ritchie, algunos de los libros preferidos por los principiantes son los que mejor se evitan, como anything by Herb Schildt o incluso O'Reilly Practical C Programming, y no parece haber muchas alternativas a estos . De lo contrario, la mayor parte del material disponible es sobre C++.Después de K & R, ¿qué libro usar para aprender programación en C simple?

Además & K R y la excelente C: A Reference Manual la que ya tengo, ¿qué otros libros son los mejores para usar para aprender a código en C, (normal y no C89 C++), sin tener que aprender las malas prácticas en el camino?

+0

¿Por qué no K & R? ¿Era esto solo una excusa para maldecir algunos libros que no te gustaban? –

+3

Andy, Schildt es/famoso/malo. – tpdi

+1

Pete Seebach dice lo siguiente sobre uno de los libros de Schildt: "C: The Complete Reference es un libro de programación popular, estropeado solo por el hecho de que es en gran parte tripe. Herbert Schildt tiene un don para el texto claro y legible, describiendo un idioma sutil pero definitivamente diferente de C. Esta página tiene como objetivo brindar a las personas una buena manera de descubrir qué está mal con ella ". http://www.seebs.net/c/c_tcr.html – tpdi

Respuesta

20
+0

De acuerdo. Este no es solo un libro muy bien escrito que te enseñará mucho sobre los rincones más arcanos de C, sino también una lectura divertida y entretenida. –

6

diría a evitar por completo los libros. Elija un proyecto, cualquier proyecto (aunque no demasiado grande) e impleméntelo en C. No hay sustituto para simplemente saltar y hacerlo. K & R da suficiente información como para comenzar a caminar y obtener la experiencia que hace que el aprendizaje sea realmente bueno.

+0

La pregunta es: "buenos libros C para leer", no "cómo aprender C". Ya estoy trabajando en algunos proyectos pequeños (y refiriéndome al código fuente a través de la búsqueda de códigos de Google), pero también me gusta leer sobre qué temas son relevantes para lo que estoy tratando de hacer o con la esperanza de hacer. –

7

This explica por qué Schildt es malo. Algunas críticas más here.

Buscar SO para los recursos de C.

11

C: A Reference Manual by Harbison and Steele

No es un libro tutorial, pero es, de lejos el mejor libro sobre C (incluso a través de K & R en mi opinión). Utilizado junto con K & R (o cualquier otro tutorial), obtendrá una gran base en C.

+0

Sí, este es un libro C imprescindible. Debería haberlo incluido en la pregunta junto con K & R, y lo he hecho ahora. –

0

También podría recomendar la lectura de programas en C. Lamentablemente, no he hecho lo suficiente para recomendar algunos en particular.

+0

Estaba considerando agregar esto a mi respuesta, pero creo que esto podría ser un poco engañoso. Si bien C puede ser un excelente lenguaje para la implementación, también puede ser un imán para algunas implementaciones horripilantes; incluso entre algunos de los mejores códigos C, puede haber algún código notablemente confuso y obtuso. Creo que para aprender C en particular, "hacer" es más valioso que "leer". –

+0

Hubiera incluido 'hacer', pero ya se ha mencionado. –

4

Me gusta Pointers on C de Kenneth A. Reek. No voy a decir que es mejor que K & R, pero ciertamente me pareció más amigable y fácil de aprender. Empecé con K & R, pero realmente no entendí C hasta que recogí este libro.

Editar: También descubrí que el precio de este libro se ha disparado desde que lo compré. Entonces, aunque mi recomendación sigue en pie, no puedo recomendarla al precio actual. Entonces, si puede encontrar una copia usada o una copia en una biblioteca, entonces vale la pena obtenerla, pero a su precio actual hay otros libros que son básicamente igual de buenos por mucho menos dinero.

Programación de Expert C es un libro que considero que vale la pena mirar al menos una vez que has cogido el truco de C, aunque dudo en recomendarlo abiertamente. En el lado positivo, contiene una serie de buenos consejos y trucos y algunos consejos muy útiles. Por el lado negativo, esos trucos y consejos están mal organizados, enterrados entre consejos no tan útiles y la mitad del libro parece estar lleno de bromas pesadas, comentarios secundarios e historias irrelevantes (pero ocasionalmente entretenidas). Así que lo tomaría prestado de la biblioteca, pero no pagaré por ello.

Pero a medida que sin duda cuenta, nunca realmente aprender C hasta que se escribe C

+0

Los indicadores en C son fácilmente los más caros de comprar. –

+0

@Rob: Wow, ¿cuándo sucedió eso? Han pasado varios años desde que compré el mío, y lo compré en Inglaterra, pero no recuerdo que sea más caro que cualquier otro libro de programación – dagw

+0

Desafortunadamente, es de £ 75.72 de amazon.co.uk, me gustaría estar convencido vale la pena por ese precio. –

0

Estoy de acuerdo con McWafflestix, mejor manera de aprender cualquier lenguaje de programación es sólo saltar en un proyecto, y mira cosas como las necesites. Así es como he aprendido ... ¿creo que en torno a 4 idiomas? Y funcionó de manera consistente.

¡Salud!

8

Estaría tentado de leer Practice of Programming y Programming Pearls. Ambos son libros bastante escuetos y orientados a C

+0

La práctica de la programación es excelente segundo libro. Programmin Pearls es un poco más avanzado, en mi humilde opinión. –

1

Beginning C de Ivor Horton (3ª edición) de APress es un gran libro introductorio sobre programación C. Este libro es muy completo y no es un libro de referencia sino un buen tutorial de principio a fin sobre todo en el lenguaje C.

Beginning C by Ivor Horton (3rd Edition)

+0

Parece que he leído en alguna parte que usa int main (void) en todo momento, sin mencionar int main (int argc, char * argv [])? –

+0

Él usa int main (vacío) regularmente en el comienzo, que es una declaración válida de acuerdo con el estándar ANSI C. Más tarde, en la página 349, introduce la declaración principal (int argc, char * argv []). –

7

K & R esencialmente cubre todo lo que necesita saber acerca de C, e incluso implementa algunas estructuras de datos que se usan comúnmente. Si está utilizando * nix y desea aprender a aprovechar el sistema operativo, Advanced Programming in the UNIX Environment, Third Edition es una buena referencia/guía para usos comunes, como leer un archivo, crear hilos, etc. El código de muestra está en C.

+0

K & R no cubre hilos ni nada específico de C11. – Geremia

+0

K & R tampoco entra en mucha profundidad con respecto a los punteros de función, tampoco, pero este voluminoso trabajo sí lo hace. – Geremia

0

K & R tampoco es la versión actual de C. ISO o ANSI C es.

+0

Err ... en realidad, la segunda edición de K & R cubre ANSI C (específicamente C89). Sin embargo, la versión actual de C es C99, que K & R no cubre. – hbw

2

Levante su libro K & R nuevamente, y esta vez haga los ejercicios. Luego compare su código con el código en K & R y vea si tiene una elegancia similar en las interfaces de funciones y las estructuras de datos. Este no es un libro para leer rápidamente e ir al próximo libro. Contiene mucha información valiosa, y los ejercicios te ayudarán a realizar algunos de los que probablemente te perdiste en la primera lectura.

1

El mejor libro de texto sobre C que tengo es C: A Software Engineering Approach por Peter A. Darnell y Philip E. Margolis. Si bien (inmerecidamente) no es tan famoso como otros libros, me pareció muy legible y maneja todos los detalles K & R se salta.

Tiene dos inconvenientes: aunque

  1. Es a partir de 1996, por lo que no cubre C99. (Esto debería estar bien con usted ya que está interesado en C89.)
  2. Es bastante caro.

Editar: Otro libro de interés es C Programming FAQs por Steve Cumbre. Si bien no tengo este libro impreso, el web site que lo acompañaba me ayudó mucho a comprender las características menos obvias de C.

Cuestiones relacionadas