Quote:
Originally Posted by clowntable
I'm kind of with you that you pretty much never need it but it seems like a concepts that just makes sense to know.
I think the concept of memory hierarchy and the principle of locality are worth knowing for every programmer. Size of L1 cache, not so much.
Quote:
At least it feels more important that other low level stuff i.e. intricates of saving an opcode or whatever comes to mind.
If you're limiting the discussion to random facts about processors, cache size is as good as any.
Quote:
But for argument's sale, list a couple of low level items that you think are important (maybe we kind of disagree on low levelness to boot :P). I'm also faaaaaaar from an expert on these issues so I'll gladly yield to your experience.
Those four courses mentioned earlier, compilers, operating systems, computer architecture and computer networking, would be a good start, and in that order. I don't know that there's a simple answer - knowing random facts without the understanding to apply them in proper context can be worse than knowing nothing. If I had to stick to non-obvious, but simple, factual knowledge, I'd go with 1) signed-number and floating point representation and 2) process memory layout (code/data/heap/stack/etc)