Assembly language :) . My first two years of programming was horrible, but after doing assembly language course, everything became clear and I became better at it knowing what programming is really about. That's why i believe it is important to teach new comers, basic concept of hardware like how the cpu and ram actually works, how statements like assignment and looping works etc.
That's why I wrote an article for beginners, you may want to check out.
I agree. It is not necessary on the beginner level. When you are just starting.
But eventually, if you want to get proficient, you have to deal with the law of leaky abstraction, and dive deeper levels of undertanding.
I rally, really recommend reading: Code: The Hidden Language of Computer Hardware and Software
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.