3 ms·
I love high-level languages and think they've had a great democratizing effect that lets people across a wide array of backgrounds be reasonably productive with
by nirvdrum 7y ago
I love high-level languages and think they've had a great democratizing effect that lets people across a wide array of backgrounds be reasonably productive without a ton of background knowledge. But, the underlying computer isn't magic. In many ways, it's pretty dumb. I suspect if you spent a bit of time looking at a system architecture, a lot of things would click into place.
Early in studies, I couldn't really wrap my head around pointers. I mean, I knew what they were and how I needed to work with them, but they just seemed like a weird abstraction. A short intro to assembly and later on, a computer architecture class, cleared that all up.
Everyone learns differently, so my experience likely isn't applicable. But, for me, no longer treating the CPU as a black box helped me get a much better mental model of lower-level languages. And I think I'm a better high-level developer for it.
- ausjke 7y agonot the case for me, my background is in EE and cpu architecture, and I know hardware better than software actually...
- gridspy 7y agoRelating to the "Python Tricks" you mention, remember that "is" means "these two pointers (x & y) point to the same place". You should never be to surprised when you create a bunch of new values and a language like python isn't "smart" enough to say "these are all the same value, so I'll create one of those and have x, y, etc all point to the same thing."
- deleted 7y ago[deleted]