Where is the best place to learn C?

Viewed 51973

I absolutely loved Dive Into Python when I picked up Python.

In fact, "tutorials" such as Dive Into Python work really well for me; short brief syntax explanations, and plenty of examples to get things going.

I learn really well via examples.

I have programming experience in Java, Scheme, Python, PHP, Javascript, etc.

Is there anywhere you would recommend online to quickly pick up the C programming language, and best practices?

9 Answers

Install an open source unix operating system. Use it. Tweak it. You'll be sitting on a mountain of C code organized into projects of all sizes, all easily available as source. if you don't make an effort to stay in the user category, you're bound to make incremental inroads into C and keep the learning process 100% practical.

The great advantage of this approach is that, since programming techniques, code structure and alike are extremely volatile among project, you get to see very early what works in which circumstances. It may require more active participation (asking questions on mailing lists or programming sites) than following a course outlined by a book author, but you'll probably pick up some idioms useful in the real world earlier.

At least that's the way I got into C, and it was fun, relevant and rewarding every single minute (fun rhymes with frustrating, well, learning hurts).

I might get flamed for this, but I learnt C using Dan Gookin's C for Dummies. The book is funny, well-written and very, very good. It's a bit short on "meaty stuff", so if you're already a programmer, it's probably too basic for you, but for the beginner, I have yet to see a book as good as this one.

I learnt C from this book first, and followed that up with the K&R book already mentioned, which is also excellent, if a bit terse and dense.

I agree with the answers above and would like to add that by practicing you can learn a lot. write short codes, post questions, look at other people questions. it will help you a lot.

An interesting place to learn C can be #C channel on irc.freenode.net . The community there helped me a lot taking my first steps, and feedback for your questions is usually "real-time".

When I learned C in the late 1980's I preferred Kochan's Programming in C (to K&R and a couple other lesser books). I see it's up to a third edition now, and there is a more recent version for Objective C.

Related