I’m just getting started in this whole microcontroller game, but I see where you’re coming from.
I am experienced in programming high level languages, like c, c#,etc, but I'm only 21 and thus have not grown up around any severe hardware limitations (i.e. like early PC's). I have read a few early C books, and they talk about things like, having to make sure you have enough memory to hold a simple string, different memory banks etc
! Before I started on the PIC, I thought that concepts like these were laughably outdated. I stand corrected.