Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where should a veteran Java programmer start in order to master C? [closed]

Tags:

java

c

In the style of Where should a veteran C programmer start in order to master Java?, I ask you the reverse question. I have a lot of experience in Java and programming in general, but I'd like to pick up some C (for some projects I'm interested in hacking). Is there a "quick and dirty" guide tailored for people with a previous CS background? I'd prefer free online resources but appreciate any suggestions.

like image 591
Elrich Weiss Avatar asked Dec 12 '10 16:12

Elrich Weiss


1 Answers

Quite a while ago, Joel Spolsky declared that C programming was critical for all software developers. In that article, he references the Kernighan and Ritchie book, which is the accepted all time classic C book. However, having taught C programming using that book, it's something of a drag for the casual student.

That said, if you're already experienced in Java, that isn't you.

Even so, it's a book that's worth reading. If nothing else, I'd look for it at the library.

This tutorial is a bit dated (especially when compared to ANSI C) but, if you're looking for the fastest brush-up on syntax, it's not terrible.

Given a little basic syntax (which will be very familiar to you), you should be able to go straight to the C libraries. That's where most of the actual functionality that you're going to need will be anyway. I think that you'll find that most of the material required to "master" C will actually be in those supporting libraries.

For completeness, in case you need an actual compiler:

In my day job, my development environment is split between Linux (Fedora 14) and Windows 7. In both cases, I use gcc on the occasion when I need to write C code. While gcc is an accepted standard in the Fedora install, on the Windows side you'll want either MinGW or Cygwin, either of which can give you gcc.

If I was still teaching C programming, I would recommend some combination of the above for the advanced self-directed students.

like image 123
Bob Cross Avatar answered Nov 07 '22 13:11

Bob Cross