this post was submitted on 10 Feb 2026
106 points (95.7% liked)

Programming

25441 readers
327 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Ajen@sh.itjust.works 3 points 9 hours ago (1 children)

You think people writing C(++) for baremetal systems don't understand how their hardware works?

[–] queerlilhayseed@piefed.blahaj.zone 8 points 7 hours ago (1 children)

I don't think it's a binary switch between "understanding" and "not understanding". I have the basic gist of how semiconductors and logic gates work, I know a little about how CPUs and assembly work, and I can work with assembly if I have to, but those aren't my areas of expertise. I know enough about floating point arithmetic that I can identify floating point errors as floating point errors, but I don't claim to have anything close to the fluency in those systems that I do for higher-level languages. The ability to specialize makes it possible to make fantastic machines like the global Internet even though no one person on earth understands all the sub-components to the degree that a specialist in a particular sub-component does. I'm not saying that there aren't some computing systems that are fully comprehended by a single person, but the ability to specialize increases the scope of what is collectively possible.

[–] Ajen@sh.itjust.works 2 points 7 hours ago (2 children)

OK, but that doesn't really answer my question, and I'm getting the sense you don't know how deeply some engineers understand how the hardware works. Plenty of embedded programmers have EE degrees, and can write VHDL just as well (or just as badly) as they can write C and ASM.

To answer your question: no, I don't think that. I know there are some areas of computing where having a deep understanding of the entire system is critical, like embedded systems. I mean, that necessity of deep understanding doesn't have to apply to every domain of computing, and creating abstractions is a useful way of dividing the work so we can make more complicated systems than one person could if they needed to understand every part.

[–] obbeel@lemmy.eco.br 1 points 5 hours ago

A "EE" degree won't get you into poking the right things into memory using BASIC. How about your "EE" programmers try that understanding of hardware?