People will tell you that coding is both hard and easy (just browse the answers to this question), but I think it's only fair to give credit to both answers.
Programming is hard because it's different than normal life. Normal life is intuitive and emotional; programming is linear and logical. Because of this, you have to retrain your brain to think like a computer, and not as a human — the nuances of this are many, and only time, persistence, and experience will allow you to overcome the hurdles.
Programming is easy, because it's simply logical. The answers to the hard questions are concrete, predictable, and quantifiable. With that in mind, the more you learn, study, and grow in the art of programming (a task in itself, but a doable one), the easier it becomes to solve problems.
In short, programming is hard at first. But persistence will reward you with an increased ability to pick up new concepts faster and more accurately, thus making it "easy".
Shameless plug: you can get more programming awesome-sauce at frontend.cafe.