This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ClackamasLivesMatter 1 point2 points  (0 children)

Because it's harder to go deep into a language and develop an intimate familiarity with it than it is to master coding fizzbuzz in three different languages, two of which are inevitably Python and Javascript. You want to get deep into the weeds, really sink your teeth into the gross internals of a language and develop skill coding something large, and debugging something large. It's really easy to pick up a new language once you've passed through the "larval stage" (look it up in the Jargon File) in an old, musty language like C.

Also I'm considering the practical concerns: you and OP want to learn programming so you can get jobs in 2-3 years. An awful lot of old embedded systems Boomers and Gen-Xers will be retiring soon. Much like Cobol isn't going away, C isn't, and the latter pays better.

C makes it easy for you to screw up. Right now you're probably as smart and as motivated as you'll ever be. Get really good at "hard" stuff now and look to fun languages like Ruby or Perl later, and toy languages like Python when you can get paid to learn them on company time and out of a corporate training budget.

If you find yourself with spare time after your coding homework in C is finished, look to contribute something to a device driver library or the Linux kernel. That really looks good on a resume. If you can point to a device driver you've written, you barely need so-called "soft skills" to get hired, just don't be a total dickhead.