3 ms·
If you don't understand assembler then you don't understand how a computer works. C is a higher level language which just happen to be more primitive than most.
by goto11 7y ago
If you don't understand assembler then you don't understand how a computer works. C is a higher level language which just happen to be more primitive than most.
Knowing C is fine, but thinking C is somehow "the real world" is dangerous, since then you don't understand that the abstractions in C (like pointers or the stack) are just design choices with certain trade-off and that alternatives are possible.
Are you suggesting someone who knows say Haskell but not C is not able to debug their own programs?
- tomp 7y agoSure, I agree. I just think the impact is less, since e.g. computers are optimized for C (there's special instructions for manipulating C-like stack). I think of more importance is the concept of registers, which C mostly abstracts away - definitely useful to know, but probably less performance impact than pointers vs. objects.