Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

Recommendations for C books

  • 22-03-2013 7:34am
    #1
    Registered Users, Registered Users 2 Posts: 208 ✭✭


    I'm looking for two books on C coding. Firstly, a standard reference text that covers 'everything', in particular networking, threads & locking.

    And then a software engineering type book that deals with C application development as I am coming from an OOP background and I don't know the best practise way of structuring an application using procedural code.

    Anyone able to recommend any books that meet the above criteria?


Comments

  • Registered Users, Registered Users 2 Posts: 3,945 ✭✭✭Anima




  • Registered Users, Registered Users 2 Posts: 2,040 ✭✭✭Colonel Panic


    There's no everything C book. The language is pretty low level and stuff like networking and threading are all platform dependent.

    What platform are developing for?


  • Registered Users, Registered Users 2 Posts: 1,306 ✭✭✭carveone


    The platform requirement is, as Colonel Panic has said, quite important. For Windows I found "Windows System Programming" (JM Hart) pretty ok but I haven't done anything too complex. For Unix I used "Advanced Programming in the UNIX Environment" but I don't remember if I enjoyed the process! Big white book. Very dry. I used it to write server/client test programs...


  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,110 Mod ✭✭✭✭Tar.Aldarion


    Didn't know there was a "learn C the hard way" too. I'd say start of with some video tutorials first of all.


  • Closed Accounts Posts: 5,482 ✭✭✭Kidchameleon


    I always loved Paul Kellys C book. Look that one up OP.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 16,414 ✭✭✭✭Trojan


    Well, assuming you haven't, you will have to read The Bible, if nothing else. It's actually quite well written, despite the era (although I would recommend the ANSI C version).

    220px-The_C_Programming_Language_cover.svg.png


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    Trojan wrote: »
    It's actually quite well written
    Honestly, it's one of the very best written computer language books I've ever come across...


  • Registered Users, Registered Users 2 Posts: 27 vimal_andrew


    You can learn C in one week using the following book.
    Let us C by Yashwanth Kanetkar
    Use the following link to download the book:
    http://en.bookfi.org/book/1067471


  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,110 Mod ✭✭✭✭Tar.Aldarion


    You can learn C in one week using the following book.

    This deserves to be one of those muscle building adds you see around the net, nerdified. Maybe the guy on the right can have glasses.


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    It really says a lot about our advertising standards laws that people can even write books with titles like "Learn $TOPIC in $N weeks". I mean, for a sufficently weaselly definition of "learn", sure...


    ...but put it this way, if you saw "Learn about Infectious Diseases in 1 week" on your GP's desk, would you go to him/her for a flu shot or would you go find a better GP first?


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 16,414 ✭✭✭✭Trojan


    I'd be looking for the GP with "Sams Teach Yourself Infectious Diseases in 24 Hours", not some amateur who needs a whole week.


  • Registered Users, Registered Users 2 Posts: 1,922 ✭✭✭fergalr


    Sparks wrote: »
    It really says a lot about our advertising standards laws that people can even write books with titles like "Learn $TOPIC in $N weeks". I mean, for a sufficently weaselly definition of "learn", sure...


    ...but put it this way, if you saw "Learn about Infectious Diseases in 1 week" on your GP's desk, would you go to him/her for a flu shot or would you go find a better GP first?

    Oblig:
    http://norvig.com/21-days.html


  • Closed Accounts Posts: 6,408 ✭✭✭studiorat


    I always loved Paul Kellys C book. Look that one up OP.

    Think I have that lying around somewhere. I found it very useful.


  • Registered Users, Registered Users 2 Posts: 1,922 ✭✭✭fergalr


    httpete wrote: »
    I'm looking for two books on C coding. Firstly, a standard reference text that covers 'everything', in particular networking, threads & locking.

    I think this part of your question has been addressed pretty well.

    K&R is really a pretty good book on C.

    Things like 'threads and locking' totally depend on the library you use, and really sit outside 'C'.


    I'm not sure its so important which books you get these days. Really you want 2 or 3 of them if you are embarking on learning a language - books are cheap compared to the time - but your probably not going to read any of them cover-to-cover?


    I think learning a language efficiently involves getting information from a mish-mash of different sources, and, these days, relying heavily on Google and stack-overflow to quickly overcome errors in your conceptual model.


    I learned C a long time ago, so I'm going to be drawing heavily from my memory of my personal experience here; but I remember 'C for dummies' by dan gookin, was actually a really good book for a beginner. (Although I was 14/15 at the time, so not sure I trust my recommendation now.)

    But I think I ended up working from C for dummies, and then from an old Que book on C that I got hold of, very dry, might have been pre-ANSI, and then finally a set of tutorials, I think this was one of them: http://www.coronadoenterprises.com/tutorials/c/

    Where am I going with this?
    Well, I don't really think a good language reference is so important any more, in the days of the internet, and tutorials and stack overflow questions.

    Buy a few, don't read any of them, just start doing tutorials and coding, and refer to them when you get stuck.

    httpete wrote: »
    And then a software engineering type book that deals with C application development as I am coming from an OOP background and I don't know the best practise way of structuring an application using procedural code.

    Anyone able to recommend any books that meet the above criteria?

    I don't think you've got a lot of answers on this.

    There aren't a lot of good answers. Thats a complex and big question.
    I also think that because C is around for a long time, and is a pretty general tool, you'll get a lot of different answers about how to structure programs written in C. Many different coding philosophies have developed large C code bases.


    These aren't C specific, but I would recommend 'Code Complete'; it probably does a good job of answering that question, even though its not C specific. I read it cover-to-cover in first year in college, and again about 5 years later, and both times were good investments.

    Maybe also check out 'the art of unix programming', which talks a lot about the design philosophy behind Unix. In a sense, if you are writing in C, you can't get away from Unix. Unix and a certain kind of C are tightly bound together in terms of the philosophy of how applications are structured.

    Or at least, when I hear someone asking how to design applications written in C, I think about Unix. I am conscious though, that different philosophies have shipped a lot of C; there's the whole MicroSoft world; maybe thats why reading both Code Complete and Art of Unix Programming is a good combination; and they are both good books individually.


    Beyond that, I don't know; maybe, slightly more generally, but from a similar mindset, Programming Pearls, the Practice of Programming, and (even more generally) the pragmatic programmer. Of those three I only really recommend reading the last one; the first two are more specific to the mindset of C, but not as good IMO.


Advertisement