Mmm flame-bait

10 PM November 27, 2006

As flame-bait, Ten reasons why every programmer should learn C is pretty good. It takes a perfectly reasonable proposition, that learning C can be helpful, expresses it as an absolute, then backs it up with ten points, each of which is either misleading, irrelevant, or true only when the universe of programming languages consists entirely of C, C++, C# and Java.

For the record, I think that learning C can be helpful for many programmers. Not only is it an extra language under your belt – C is #2 on the TIOBE index – it is a useful way to learn about using RAM, and it gives an appreciation for the forces shaping C’s successors – C++, Java and C#.

By alang | # | Comments (4)
(Posted to Software Development and javablogs)


At 23:51, 27 Nov 2006 Andy Todd wrote:

And learning about flailing pointers and malloc will put hair on your chest.

Is it OK to say that I learnt C fifteen years ago and haven't used it since?

At 00:14, 28 Nov 2006 Richard Jones wrote:

Barring learning Assembler, C is a bloody good way to learn about how computers actually work. Fundamental data types, pointers, memory alignment, memory allocation, all that stuff.

I also learnt C about fifteen years ago and use it on and off these days (the most recent was haxx0ring the new exceptions type into Python 2.5 ;)

At 00:16, 28 Nov 2006 Michael Chermside wrote:

C is indeed an excellent language to study for many reasons. As you say, it shows one the roots of the entire C-family of languages, which is quite helpful in understanding Java, C++, and such. It's rather like learning to speak Latin was about a hundred years ago. I am also intrigued by the way in which C has influenced processor development. So many programs are written in C that it has influenced the design of processors. It's also the "most portable" language -- not that C code is portable, making any non-trivial C code portable is a monumental task -- but some version of C will run on absolutely ANYTHING.

And of course, C is of historical interest: it was an interesting language for its time (which was decades ago) and many interesting programs were written in C.

Plus, if you ever need to write a device driver, the underpinnings of an OS, or some embedded code for a small, constrained processor it's still a fine tool. (Not IMHO the best, but a fine one.)

At 04:34, 28 Nov 2006 Alastair wrote:

Guys, you're forgetting that C is far-and-away the most portable language in existence. There is barely a computing platform made which does not have a C compiler available. Nothing else is close.


Add Comment

(Not displayed)

(Leave blank line between paragraphs. URLs converted to links. HTML stripped. Indented source code will be formatted with <pre> tags.)

© 2003-2006 Alan Green