Skip to main content
11 events
when toggle format what by license comment
Jan 3, 2022 at 19:32 comment added DrM You started with no, that's not good. And I do know pretty accurately what's going on at the hardware level at any moment that it is important to me. When I use an abstraction layer, I've decided that the convenience of it, or the savings in development time, is more important than the inevitable cost in performance and often, reliability as well. Sometimes that is okay, but every system I have built resorting to that, has limitations it would not have if I had not used those abstraction layers. So, knowing what is going on, for me, has repeatedly proven itself vitally important.
Jan 2, 2022 at 17:46 comment added Caleb @DrM It’s one thing to understand how the hardware works generally; another to know exactly what’s happening at any given moment. There are many layers of abstraction meant specifically to prevent us from needing to worry about exactly what’s happening at lower levels. Did you read the “yes” portion of my answer? We’re probably not that far apart.
Jan 2, 2022 at 17:24 comment added DrM I disagree. (A) Many people understand what happens a the hardware level. We learn and teach that in Com Sci/Eng departments everywhere. (B) Not understanding what happens at the hardware level can result in programs that are spectacularly inefficient and fail sporadically.
Oct 19, 2011 at 19:55 vote accept bev
Oct 18, 2011 at 23:04 comment added bev Ah, OK. The home page is a little murky on that aspect of their products. I'll look again.
Oct 18, 2011 at 7:16 comment added Caleb @bev: If you just want to find out how functions are called, you can probably spend 30 minutes reading about that and be done. If you want to get a better sense of how everything works together, it'll be easiest with a small system. It's the best way to get the whole onion in your head at once. AVR, the family of chips on which Arduino is based, is a nice, general purpose, easy to use system with an instruction set that's small enough to learn without too much trouble.
Oct 18, 2011 at 6:13 comment added bev sorry to be dull, but I checked out Arduino, and I can't really see how using it would help me understand how a compiler treats pointers and arrays differently. What am I not seeing?
Oct 18, 2011 at 3:32 comment added Caleb @bev: In that case, you really should check out a platform like Arduino.
Oct 18, 2011 at 0:04 comment added bev Thanks. This basically answers my question. I'm an EE who has done chip-level (i.e. transistor-level) design of registers, adders, multiplexers, etc, so I get the lowest level (unless we're talking quantum mechanics). I also can use the languages I know fairly well. I just have a huge gap in the middle level (stack, heap), where you say the compiler does its work. Since, as you put it, I want my programming experience to be "less mysterious and,..., more magical." it seems like i should study the levels that are still unknown to me.
Oct 17, 2011 at 23:05 history edited Caleb CC BY-SA 3.0
added 587 characters in body
Oct 17, 2011 at 22:58 history answered Caleb CC BY-SA 3.0