As an old-school software gal, it's amazing to me how software engineers these days think, too. The sentence "ever wondered why integers in software are powers of two?" made a very powerful point for me - namely, how far software engineering these days is removed from the underlying implementation.
Mind, I don't fault the author for being surprised. It's a logical consequence of that remove. But as somebody who grew up with blinkenlights and core memory, the idea of not knowing this fact is completely foreign to me, even though I have no HW skills worth mentioning.
Part of me wonders if that means we should teach SW engs about those realities. Especially given the authors wide-eyed realization that all that code executes in parallel, all the time. It's a mental model that seems rather useful given the amount of parallelism we see and will be seeing.
I'm the author. First, I'd like to point out that I started out as a programmer for embedded devices.. so I did know about the parallel nature and powers of two. BUT, I do know lots of programmers who don't. My intention was to teach those who know nothing of computer hardware and are asking these questions. Hopefully you'll be less grumpy now. (:
As I said, I don't see not knowing this as a fault - it's a product of our current environment and the fact that the gulf between HW and SW has widened. As such, it's not making me grumpy. I just thought it made an interesting point about how much we've progressed.
And good on you for pointing it out and teaching about it!
Mind, I don't fault the author for being surprised. It's a logical consequence of that remove. But as somebody who grew up with blinkenlights and core memory, the idea of not knowing this fact is completely foreign to me, even though I have no HW skills worth mentioning.
Part of me wonders if that means we should teach SW engs about those realities. Especially given the authors wide-eyed realization that all that code executes in parallel, all the time. It's a mental model that seems rather useful given the amount of parallelism we see and will be seeing.
Or maybe I'm just old and grumpy ;)