Earlier quoted context omitted.
It's subtle. For instance my university taught us scheme basics (no higher order functions, no macros) in the very first computing module[1]. Before teaching us x86 assembly, HTML, VBA. [2] IMO nobody [3] considered it programming. I was a geek and thought it was pure vapor [4], programming needed to be cpp with graphics or GUI or memory cells. I don't know what other people thought about it but I'd bet they forgot a…
Programming and bit fiddling are different. One is a logical analysis and breakdown to simple elements while the other is a method of implementing that breakdown in a specific manner. Student's inability to understand this is their own failure and ignorance. As to the topic at hand, in JS, those ideas of higher-order functions which don't exist in C (to any meaningful extent) are the primary means of abstraction. I'v…
[1] growing with computer as a user, what amaze you is what you can perceive : gui, games, external devices. Which are all designed to amaze. When you get to know how computers are made, your first desire is to reproduce these things. Abstraction, expressiveness aren't on your map yet.