¿Hay alguna ventaja para un programador de C de haber leído K&R? [cerrado]

10

Esta pregunta me ha estado atormentando porque ahora estoy leyendo Kernighan & Ritchie's: The C Programming Language (K&R) pero me encuentro mucho, y me refiero a MUCHOS programadores de C que nunca lo han leído.

Entonces, mi pregunta es: ¿Hay alguna ventaja en leer K&R? Debería ser una necesidad?

Farouk Jouti
fuente
K&R fue escrito por los chicos que inventaron el lenguaje C; durante mucho tiempo fue el único libro C disponible
Steven A. Lowe
No. El libro K&R no es el único libro C jamás escrito. Dependiendo de cómo aprenda, otro libro puede ser mejor para usted.
user16764
1
@ StevenA.Lowe: Tenga en cuenta que haber creado y desarrollado el lenguaje no necesariamente le da las mejores credenciales para escribir sobre él. Por ejemplo, Gosling dijo notablemente que no se consideraba un experto en Java. Y no estoy seguro de disfrutar tanto de los escritos de Stroustrup en C ++ en general. Obviamente, saben de lo que están hablando en las partes técnicas del lenguaje, pero usarlo al máximo, definir el estilo y hacerlo parte de un ecosistema viable es algo completamente diferente. (aunque creo que K&R lo hizo increíblemente bien)
haylem
@ user16764: "no" a "¿debería ser una necesidad?", espero que no "¿hay alguna ventaja en leer K&R?"
haylem
@haylem: por supuesto. Afortunadamente, el libro de K&R es bastante bueno, pero no veo ninguna ventaja obvia para leerlo en lugar de o además de otros recursos de C
Steven A. Lowe

Respuestas:

15

Útil sí, necesario no. K&R no es la definición del lenguaje C. Es simplemente uno de los muchos textos introductorios. Lo encontré particularmente claro y conciso, pero otros lectores pueden preferir otros textos. Simplemente haberlo leído no te diferencia de otros programadores de ninguna manera.

Charles E. Grant
fuente
¿Entonces me estás diciendo que si lo leo o no no hace la diferencia?
Farouk Jouti
77
Leer K&R y hacer los ejercicios es una forma perfecta de aprender la introducción C. Sin embargo, hay muchos otros libros y recursos para aprender C, y haber elegido K&R en lugar de uno de los otros libros no demuestra en sí mismo su competencia como programador. .
Charles E. Grant
77
Por supuesto, siempre se puede aprender de la manera difícil .
Robert Harvey
44
K&R eliminó el miedo de aprenderlo por mí. Es casi como si estuvieran sentados a mi lado explicando cosas en una conversación hogareña y amigable. Ese es el valor de "el libro blanco". (Y lo aprendí en 1985)
Rob
@Rob: Sí, es un libro muy amigable y muy accesible. Considero que este es uno de sus mayores activos, junto con ejemplos / ejercicios muy claros.
haylem
8

Estoy de acuerdo con Charles E. Grant: no es necesario, pero vale la pena leerlo, y he aquí por qué lo creo:

Las cosas malas

  • Está anticuado y, por lo tanto, podría ser confuso.
  • Si ya conoces bien C, no aprenderás mucho.
  • Si no eres fanático del estilo de código K&R, tus ojos pueden arder.

El 3er punto es insignificante y los 2 primeros puntos son relativamente indoloros, al menos sabes que leerlo no hará daño.

Lo bueno

  • Es una buena introducción para programadores novatos, tanto para C como para programación en general.
  • Es una buena lectura (como en: se lee fácilmente y está bien escrita).
  • No se trata solo del valor técnico, sino también del valor histórico. Si pretendes ser un experto, es bueno saber cómo evolucionó el lenguaje, por lo que es bueno echar un vistazo a un libro que existió no mucho después de su génesis, y uno de los libros más famosos del idioma. C ha cambiado. No conocer los bits antiguos puede no ser útil si no tiene que usarlos, pero puede ser de gran ayuda si se encuentra con un código más antiguo o si se pregunta por qué se hicieron algunas cosas de una manera u otra.
  • De nuevo, se trata de la historia. Leer "Hackers" de Steven Levy o "Dealers of Lightning" de Hitzlick no me enseña nada de valor técnico, pero es anecdótico. De alguna manera, también encuentro que K&R es de gran valor a este respecto.

No es una pérdida de tiempo, así que diría que tome una copia en una biblioteca local y la deje en su escritorio. Recógelo en algún momento y te sorprenderá que haya un pequeño agujero en el continuo espacio-tiempo cuando levantas la cabeza nuevamente.

haylem
fuente
2
+1: Estoy de acuerdo con "Si ya conoces C bien, no aprenderás mucho", pero muchos (si no la mayoría) programadores de C que lo leen por primera vez descubren que no conocían C tan bien como pensaban.
mattnz
1
@mattnz: sí. (Dicho esto, me temo que no es específico de C y de este libro en particular. Tendemos a pensar que sabemos las cosas mejor de lo que realmente sabemos)
Haylem
6

Sí, K&R es indispensable.

Tienes que leerlo, de la misma manera que tienes que leer Hamlet y Lord Of The Rings, de la misma manera que tienes que ver Casablanca y Gone With The Wind y Star Wars.

Es un pequeño libro fabuloso. Cambió la programación y transformó la escritura técnica, y durante una generación representó el pináculo del estilo.

¿Qué ganas al no leerlo? ¿Seis horas? ¿Doce? ¿Veinte? Si te tomas en serio la programación, pasarás miles y miles de horas lanzando código. si no puede molestarse en leer, ¿qué más no puede molestarse en hacer?

Es completamente posible que K&R no sea tu primer libro de C. Y hoy en día, C no debería ser tu primer idioma. No es vital leer K&R primero, pero hay que leerlo.

¿Y por qué no quieres? Es divertido.

Mark Bernstein
fuente
1
Es una mala analogía en mi opinión. Creo que la gente debería leer estos libros, pero una vez más hay innumerables libros y películas que uno debería ver, y verlos o no verlos, la gran mayoría no será un fuerte indicador de nada. Además, eso es bastante específico de la cultura si crees que todos necesitan haberlos leído. También asume erróneamente que perder el tiempo sin leer K&R. No sabes cómo funciona el programa OP, por lo que sabes, tal vez él o ella estaba planeando usar este tiempo para otros 57 libros irremplazables que NO mencionaste.
haylem
1
Además, y aunque a veces he aconsejado a algunas personas que comiencen con otros idiomas que no sean el C, propongo que se enseñe temprano y se enseñe bien. Básicamente, lo único con lo que puedo estar sinceramente de acuerdo en su respuesta es: "Es un pequeño libro excelente. Cambió la programación y transformó la escritura técnica, y durante una generación representó el pináculo del estilo". (aunque ni siquiera estoy seguro de la última parte que también me pareció extremadamente generalizada)
haylem
1
Empujando su razonamiento, todos deberían leer los "Elementos de Álgebra" o "Brāhmasphuṭasiddhānta" de Euler. Después de todo, cambiaron su campo tanto por su contenido como por su forma, y ​​en algún momento fueron el pináculo del estilo, probablemente por bastantes generaciones más. Seguramente no leerlos es una gran pérdida de tiempo.
haylem
Es 2019 y no he leído K&R y no he visto ni leído nada en tu lista. Lo digo en serio.
Ronnie
4

Si.

No es muy bueno si quieres saber cómo escribir programas usando las versiones actuales de C, pero--

Explica muy claramente por qué el lenguaje se ve así y la intención detrás de algunas de las decisiones básicas de diseño.

Si alguna vez se le pide que documente algo, "El lenguaje de programación C" es el ejemplo absoluto de cómo hacerlo. Bien organizado, claro, conciso y legible. Está escrito en inglés simple con un mínimo de jerga y cero palabras de moda.

James Anderson
fuente
2

No estoy seguro de que aprenda algo diferente de K&R que de otros libros de C, pero tiendo a creer que puede aprender bastante sobre las personas al ver qué libros prefieren leer sobre un tema.

  • K&R es un libro bien escrito y conciso, pero un poco cliché como recomendación.
  • Mi favorito personal era Harbison & Steele , tan bien escrito como K&R, pero considerablemente más detallado.
  • Si alguien prefiere un libro en la serie "... para tontos", sospecharía su dedicación a su oficio, no porque esos libros sean tan malos, sino porque no profundizan en los detalles.
  • Si alguien jura por los libros escritos por Herbert Schildt, tiene la voluntad de entrar en detalles, pero sospecharía su juicio en los libros que eligieron.

En general, no creo que el tiempo dedicado a leer un libro técnico de calidad (y K&R es definitivamente uno, y no muy largo) nunca se desperdicie.

microtherion
fuente