Why you need to learn C (Director's Cut)

Full Ack. You know how I got started out with serious programming? By learning x86 Assembly when I was 12, so I could hack the popular game Diablo.

While I've been dabbling in high-level languages like BASIC, Pascal and Java since I was 6, Assembly gave me the "a-ha" moment that made me able to learn every other imperative language in a breeze.

Functional and logic-oriented programming still feels like a mind fuck the first time you do it, since those paradigms are at least one abstraction level above imperative languages again. Neverthless, learn C! And learn Assembly (at least x86 and x86_64, and don't forget to learn about SIMD either!).