Which book to read to learn C?

simpleonline12

New member
Sep 29, 2009
191
3
0
I am just starting out my journey into programming with C and was wondering what book you would consider reading? I'm not a total noob to computers hardware/software but a noob to programming...took a VB class years back and only remember bits and pieces...thanks
 


If it's for a class, you should be getting a book. Otherwise, C is not really worth learning anymore unless you have a specific reason. And based on the topic of this forum, I can't see what it is.
 
Based on your previous posts, you're floundering around deciding what to learn. I'm guessing you are interested in the web / web development. So, 3 choices: php, python and ruby. Pick one, learn it to a decent level, forget about C.
 
  • Like
Reactions: dchuk
840015_LA_troll_norway.jpg
 
When I was in College I used C: The Complete Reference. It is a pretty fat but good book...
 
If it's for web development, then listen to what others have said and stick with php.

If it's for something else, then I gotta tell you, learning C without first learning theoretical basics of computer science (like finite state automata, data structures, common design patterns, etc.) is a huge waste of time.
 
If it's for a class, you should be getting a book. Otherwise, C is not really worth learning anymore unless you have a specific reason. And based on the topic of this forum, I can't see what it is.

You are completely wrong. Please don't ever join in a programming discussion again, because it's clear you don't really have a clue about anything related to the topic.

Why would you want to learn C? I dunno, because maybe if you want to know wtf you're doing and be a real programmer you want to understand memory management, data structures, and everything else you'll learn about real programming by truly understanding C?
 
You are completely wrong. Please don't ever join in a programming discussion again, because it's clear you don't really have a clue about anything related to the topic.

Why would you want to learn C? I dunno, because maybe if you want to know wtf you're doing and be a real programmer you want to understand memory management, data structures, and everything else you'll learn about real programming by truly understanding C?

There's a huge difference between teaching yourself C, and taking a well organized course using C as an example to teach proper style and structure. If you just want to get some shit working, learning to half ass paste some php together will have you up and doing useful work very quickly. You'll also be able to do 80% of what's on the web.

Learning C on your own will have you up and not doing jack shit, even after you put in a lot of hours. Without taking a class, you're unlikely to pick up all the style and structure stuff, which is really the only thing you get out of taking C. If you do take a class in C, you'll know style and structure, but you won't know how to do the 80% of what's on the web, which is just retard easy javascript, php, and html/css. The level of programming needed for even fairly sophisticated scraping is not that high.

When you want real programming it's often better to just buy it, because there are plenty of dudes who thought they were going to be bill gates, but are out of work, precisely because they spent all their time becoming great programmers and not enough time learning how to run a business. Sometimes there is an advantage in the long term to not knowing shit just because it forces you to focus on managing rather than doing the bitch work. In the short term it's hard because you don't have cash to buy programming.
 
You should read books which is being used by today's generations so that can relate and you will know the new techniques, codes and others that will help in mastering C and be good in programming...ahm.. Why you study that?? are you in college? or what?
 
There's a huge difference between teaching yourself C, and taking a well organized course using C as an example to teach proper style and structure. If you just want to get some shit working, learning to half ass paste some php together will have you up and doing useful work very quickly. You'll also be able to do 80% of what's on the web.

Learning C on your own will have you up and not doing jack shit, even after you put in a lot of hours. Without taking a class, you're unlikely to pick up all the style and structure stuff, which is really the only thing you get out of taking C. If you do take a class in C, you'll know style and structure, but you won't know how to do the 80% of what's on the web, which is just retard easy javascript, php, and html/css. The level of programming needed for even fairly sophisticated scraping is not that high.

When you want real programming it's often better to just buy it, because there are plenty of dudes who thought they were going to be bill gates, but are out of work, precisely because they spent all their time becoming great programmers and not enough time learning how to run a business. Sometimes there is an advantage in the long term to not knowing shit just because it forces you to focus on managing rather than doing the bitch work. In the short term it's hard because you don't have cash to buy programming.

I'm not sure how taking a C++, Java, or PHP class would somehow be less beneficial than taking a C course. All imperative structured languages contain almost exactly the same "design" principles. I'm not really sure what you mean by "all the style and structure stuff". The style and structure of a C program is almost identical to C++, which is very similar to something like Java or PHP. And truth be told, C sucks when it comes to style and structure. Don't take my word for it, take Fran Allen's.

To the OP:
There is one benefit and one benefit only from learning C this day in age (most professional programmers and C.S. professors would agree with this): memory management; malloc(), calloc(), realloc() and free() are the only reasons why you should even consider studying C. Since we're buried beneath abstraction layer on top of abstraction layer, most people these days don't even know how to use new() and delete(), let alone their C counterparts.

Since programs function in memory, I'd say it's very important to learn how to manage memory in C (if you're planning to become a programmer). Since you already have some experience with VB, C would be a great way to understand how VB was doing some of its magic.

But be warned: you won't use C for anything unless you do systems programming. So unless you write operating systems, virtual machines (bytecode interpreters), or embedded applications, 99.99999999999% of the time C is not the right tool for the job.

Like other people have suggested, the K&R book is your best bet for a comprehensive and complete guide. Good luck!