Archive for August 8th, 2011

So you’re thinking of starting with ‘C’…?

Monday, August 8th, 2011

This entry contains much of the same material as Things you should’ve learned in ‘C’ class: 0 – Introduction  – but aimed at those who have not (yet) taken a ‘C’ class.

Many people seem to adopt the jump-in-at-the-deep-end-and-hope-you-learn-to-swim-before-you-drown approach to start developing in ‘C’.

While it is, of course, possible to learn a programming language by yourself, it requires a good deal of disciplined study and practice to learn it well. Therefore I thoroughly recommend a taught class as the best way to go.
I can recommend the following local training providers:
http://www.doulos.co.uk
http://www.feabhas.co.uk/

Other providers are, of course, available; eg,
http://www.netrino.com/Embedded-Systems/Training-Courses
http://www.ganssle.com/classes.htm

And some offer “self-study” options; eg,
http://www.netrino.com/Boot-Camp-Box

If you do intend to go ahead with a DIY approach, the first thing you will need is a good textbook – or textbooks. ‘C’ is a very long-established and widely-used language – so there are plenty to choose from!

Some general books are listed here: http://www.keil.com/books/genbooks.asp

The Association of C & C++ Users (ACCU) website has a section dedicated to book reviews: http://accu.org/index.php/accu_documents/book_reviews

A free online ‘C’ textbook can be found here: http://publications.gbdirect.co.uk/c_book/

A complete set of ‘C’ programming course notes is available here: http://www.eskimo.com/~scs/cclass

Answers to a range of Frequently-Asked Questions about ‘C’ programming can be found here: http://c-faq.com/

A description of all the functions provided by the standard ‘C’ library can be found here: http://www.cplusplus.com/reference/clibrary/

Addendum – 1 May 2012:

I stumbled upon this this great list of ‘C’ books, tutorials, FAQs, etc:

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=22514

Although it starts with some AVR-specific stuff, the vast majority is entirely general.

Addendum – 10 Dec 2013:

Wikibooks has a free online ‘C’ book offering, “a comprehensive look at the C programming language and its features”

http://en.wikibooks.org/wiki/C_Programming

(PDF, printable, and e-reader versions also available).