Wikipedia:Reference desk/Archives/Computing/2023 November 10

= November 10 =

Good C textbook?
Last time I taught C, the sun never set on the British Empire (or nearly so). Back then, the best book I found to teach from was K&R. I still think it's a good bock, but did anything else come up in the last 20 years? --Stephan Schulz (talk) 07:12, 10 November 2023 (UTC)


 * At one point C: A Modern Approach by K.N. King was widely recommended by C cognoscenti, but that was quite a few years ago by now, too. —scs (talk) 11:42, 10 November 2023 (UTC)
 * The title of King's book is C Programming: A Modern Approach. It takes account of the newer standards up to C99, while K&R remains stuck at C89. Later changes in the ANSI C standard are IMO of lesser importance. --Lambiam 15:33, 10 November 2023 (UTC)
 * Thanks. It looks like the cup may pass me by (but knock on wood). I'll probably get a copy of the Modern Approach, anyways. But boy, have textbooks become expensive! EUR 60 for a paperback K&R, and EUR 70 for the King... --Stephan Schulz (talk) 17:28, 10 November 2023 (UTC)
 * To learn anything related to computers you do not need any printed books. You can just use internet. You can for instance review these free C++ books. Ruslik_ Zero 19:45, 10 November 2023 (UTC)
 * These are all on C++, which is a very different language. But I found the list of C books one click away - thanks. Most of them seem inappropriate as a beginners textbook. In general, yes, you can find a lot of useful knowledge on the internet, but a lot of what you find there is horseshit, heaped doubly high and extra-wide. It's fine for experienced people who can recognise the smell, but not for first-year students (or at least not for most of them). --Stephan Schulz (talk) 21:57, 10 November 2023 (UTC)
 * There is a good tutorial here. Ruslik_ Zero 20:59, 11 November 2023 (UTC)
 * Three more references:
 * The C FAQ list's answer (dated, some links broken)
 * Stack Overflow's "Definitive C Book Guide and List"
 * A decent online C class (also somewhat dated, C90 only)
 * —scs (talk) 22:04, 11 November 2023 (UTC)
 * When I teach C, the students tend to have another language as a requirement, often Java. So, I opt for something like "C for Java Programmers." There are many books along that line. Same with C++. I found a "C++ for Python Programmers" book last year for a course I taught. Overall, I rarely make the textbook a requirement. I ensure everything they need is in a weekly slide deck and the book itself is just for reference. But, I know that practice is considered very weird and it doesn't provide financial support for the campus bookstore. 12.116.29.106 (talk) 13:02, 14 November 2023 (UTC)
 * In my case, these are first-semester students, so I cannot assume any other language. Yes, usually I also have my own slide deck (which is a weird mixture of presentation and reference), and only point to various textbooks for students who don't like my style or want to learn more than I can cover in the lectures. But in this case, I would have to produce lectures very quickly, and wanted som guidance. However, I did, indeed, find another lecturer, so I can keep on teaching just Logic and Foundations in the first semester. Still, thanks all, of course! --Stephan Schulz (talk) 14:09, 14 November 2023 (UTC)