I just read this in one of the threads I'm part of.
To be honest, programming is hard but only at the beginning phase. Just like every other things you do the same with riding a bicycle. You'll find it hard to maintain your balance that sometimes you'll end up scraping your knees but once you get the hang of it, you'll totally enjoy it forgetting all the wounds and frustrations throughout the process.
So what do I need to "easily" understand programming?
The answer is simple: learn to LOVE IT.
Haven't you notice if you love to do something no matter how hard or difficult it is you still enjoy doing it without ANY complaints. I always notice this behavior with my other colleagues. Our work is mainly to do programs but only a few are actually enjoying it. Most of them are just treating it as their source of income or just because they are good at it. Remember, not all people who are good at something actually love what they're doing. Maybe they'll just some genius who are born with those talents but their hearts aren't just for it. These kind of people almost always end up not enjoying their life and once they realize this it's already too late.