Ironically I learned programming by playing with microcontrollers, which I got into through learning about electronics. So I had a really true "ground up" learning experience, starting with embedded C (not machine code, I wasn't that hard). I did a number of projects on AVR's and got decent at writing programs.
When moved on to writing PC programs, I struggled so much because everything is so heavily abstracted and languages like python have so much ability embedded in them already. I kinda had to toss a lot of intuition and learn things new.
When moved on to writing PC programs, I struggled so much because everything is so heavily abstracted and languages like python have so much ability embedded in them already. I kinda had to toss a lot of intuition and learn things new.