Archive for the ‘C programming’ Category

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).

Things you should’ve learned in ‘C’ class: 0 – Introduction

Sunday, December 12th, 2010

I see a worryingly large number of posts from ‘C’ users on internet forums displaying a lack of understanding of the basics of  ‘C’ development in the Real World.

Many of these are standard, classic ‘C’ issues – applicable to any environment in general – and some are specific to Embedded development in particular.

This is intended to be the first in an occasional series to address some of these issues.

Hopefully, educators may also find these posts useful in considering whether any changes in their material or presentation might be beneficial…

As a starter, let’s consider some basic reference materials to keep at hand:

The first must, of course, be a good ‘C’ reference book such as The ‘C’ Programming Languageby Brian Kernighan and Dennis Ritchie – available through any good book shop, as well as online bookstores.
Some further book recommendations can be found here: http://www.keil.com/books/

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

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/

In my opinion, you can’t beat a good, taught class. 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

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).