Eric offers his input on the debate about whether software developers need to learn C or not. This is an interesting debate. Eric compares the people today who insist developers need to learn C to those who in an earlier time insisted you needed to learn Morse Code to get a ham radio license. Then he contrasts the difference to point out the besides the “real programmers (hams) know C (Morse Code)” bravado, there is a real point to the C argument. It won’t make a poor programmer a good one, but it will sharpen your skills in ways difficult to impossible to develop with most modern languages that totally insulate you from the underlying machine.
My first serious foray into programming as a career choice was to learn C. Then I learned C++ and worked in it almost exclusively up until my first contract gig, when I worked in C. It’s a deceptively simple language that gives you great control and power, and with it responsibility, to command the machine. It also forces you to understand what’s happening in memory.
Oh yeah, that first C++ project was really C with classes, using a Cfront based compiler (if anybody remembers those). And we dealt with hardware at a deep level as it was a large scale embedded project. I had 16 bit command buffers (stacks) and 32 bit circular input buffers and mailbox output buffers, to talk to a card through a backplane. Then there was an RS-232 driver controlling a stepper motor.
Enough of the reminiscing already. Left that job eight years ago.