4 ms·
You should absolutely learn C - you don't need to be an expert, but you should fully grasp the use of pointers and memory allocation, and how the compiler reall
by dedward 16y ago
You should absolutely learn C - you don't need to be an expert, but you should fully grasp the use of pointers and memory allocation, and how the compiler really works (intermediate stages and all that).
This, for the same reason you should learn some provisional level of assembler on an older 8 or 16 bit processor with a simple instruction set (intel 8080 or 8086, and then maybe something RISC just for kicks). You don't need to be an expert, just dabble enough that you "get" how it works.
Also learn how to implemenet a few other progrmaming patterns in C - you can do OO in C, you can do functional in C, you can do concurrent in C. You likely won't have to in real life, but understanding those concepts at the level of C will really help you understand the benefits of higher level languages.
I'd say the same for any of the Lisps - learn one, even if you'll never use it - the insights it gives you are worth it and will make your other code better.
- chronomex 16y agoI wouldn't recommend learning assembly on the 8080 or 8086. These systems are register-poor, which makes programming on them frustrating. Instead, try ARM or perhaps MIPS. If you learn ARM, you'll probably end up programming at a higher level on it in the future. On second thought, learn assembly language for a platform you can run it on. If you only have x86, learn 8086.