My opinion is based more on motivation rather than 'ability'. People can learn amazing things when they are motivated: but it's very easy to turn a fun subject into unfun. Look at what high school does to Math.
i don't particularly agree - i think the brain develops year by year at a young age (such that your 'ability' at age 8 could be vastly different compared to age 7). might be very difficult for the child to grasp abstract concepts without prior understanding of more basic concepts. perhaps also the reason why schools start with idk, scratch programming instead of OOP concepts for a start