# Good book/site for C?



## Frick (Sep 22, 2012)

Hey all.

When I read electronics we did a wee bit of C programming (and loaded to Atmel chips) and I'm thinking about trying it out again. Why C? Well for one thing I can program my Atmel stuff with it, and it feels like a basic place to start. It's close to the system and full of logic.

The book we used for the course was made in 1999 (I got it weeks before a new revision came out and I didn't find that out until now, I never opened it ) and it feels a bit dated now when I'm looking at it.

So, any tips? I would actually prefer a book because that I can read in my couch, or in bed. Book + site would be awesome.

Thanks for looking!


----------



## Kreij (Sep 22, 2012)

There are a ton of C PRogramming Language books on Amazon and any one would get you going.
For links, you can start with the stick thread in this section.

Personally, I would jump into C++ instead of C, but that's your decision.


----------



## Frick (Sep 22, 2012)

Yeah I was hoping someone could point out a specific book or site, there are so many of them. 

I have two books on XHTML and PHP from Wrox and I think they are pretty good.


----------



## Kreij (Sep 22, 2012)

The Richie and Kerninghan books are still the "Bibles" of the C programming language back from 1988.
I still have an original copy on my programming bookshelf. 

The C language is still the same as it has been for quite some time. Some of the perceived shortcomings of the language have been addressed in the evolutionary languages (C++, C#, etc.) to give programmers more features with less programming overhead, and in some cases to "enforce" stricter rules of safe programming practices, but the basics are still there.

So Frick, pick a book, dig in, and then come back here so all the coders at TPU can help when you hit a bump in the road.

What I've been doing lately is buying Kindle books from Amazon and using their free "Kindle for PC" application to read them. It's so frickin' convenient (and cheaper) that I am considering getting a Kindle so I can read them in bed if I want. 
No, it's not the same as holding a good book with dog-eared pages, but being able to jump between references with a few clicks is a huge advantage.


----------



## Aquinus (Sep 22, 2012)

Personally, I would get the ANSI C Programming book and start with that (as Kreij stated, +1 Kreij.  ). I disagree with starting with C++ as C++ is more of a subset of C. Anything you can do in C you can (most likely,) do the exact same way in C++. Once you get a good grip on C, then move to C++ and almost everything will make sense. If you're doing low level programming definitely go with C in that case.


----------



## Kreij (Sep 23, 2012)

The reason I suggest starting with C++ is that in my experience helping people learn to code, they have a harder time transitioning from a functional language (C) to an object oriented language (C++) than they do if they learn OOP first and wish to go back to functional coding (for whatever reason).

C++ is a superset of C, although not neccessarily a 100% strict one.
You can read the C++ Wiki for information on compatibility and differences between the two.

Anyway, regardless of what you chose, the most important thing is to get going !!


----------

