Largely, programming consists of two things. The ability to formulate algorithms and architectures to solve problems is one of them. The other is mastering the syntax, and resources, provided by a language and the tools that support it.
How hard this is depends on you more than it ... Read more