[sdiy] how to learn C?

Matthew Smith matt at smiffytech.com
Sat Jan 8 21:37:56 CET 2011


Quoth dan snazelle at 2011-01-08 20:34...
> can anyone recommend a good book on C

I was learning C for about 20 years from Kernighan & Ritchie. A handy
REFERENCE, but not a book to learn from. (The result of those 20 years
was that I still didn't know more than the most basic of C.)

So, I'd direct you to another Dan, Dan Gookin, the guy who wrote the
original DOS for Dummies way back when.

C All-in-One Desk Reference For Dummies

http://au.wiley.com/WileyCDA/WileyTitle/productCd-0764570692.html
http://www.amazon.com/All-One-Desk-Reference-Dummies/dp/0764570692

It took me much further, much quicker.

As regards C++, not if you're doing embedded. As someone just pointed
out, excellent way to make bloat. If you ever want to write QT
programmes, yes, you'll need it. But for microcontrollers, good ol' C is
what you want.

Whilst you may be able to obtain books on programming specific families
of microcontrollers, they might not be the best for the language in
general. I think you'd be better off with a decent general C book and
reading, re-reading and reading yet again the datasheets and application
notes from your device manufacturer of choice. (I'm pretty happy with
the Atmel AVR ones.)

And AVR is the family I'd recommend, either in the 'raw' form or as
Arduino. There is an excellent Free Open Source toolchain and great
community support. (I'd second the vote for www.avrfreaks.net.) Of
course, as mentioned, the Arduino community is great - and very big.

I think a possible extra plus in favour of Arduino against 'vanilla' AVR
is that you can get it with a preloaded bootloader so you just plug into
a USB port and go - no need to have a dedicated programmer. (Programmers
compatible with AVR ISP-II are reasonably cheap on eBay from some
Chinese vendors, should you wish to pursue that route.)

Hope this helps.

Cheers

M

-- 
Matthew Smith
Smiffytech - Technology Consulting & Web Application Development
Business:      http://www.smiffytech.com/
Blog/personal: http://www.smiffysplace.com/
LinkedIn:      http://www.linkedin.com/in/smiffy
Skype:         msmiffy
Twitter:       @smiffy



More information about the Synth-diy mailing list