Owen Williams writes for The Apartment about learning to program, and I have to say I agree with everything he says.
Coding is something you have to refine and keep up with constantly. It’s a constantly evolving landscape, where new standards, ideas and strategies emerge. It isn’t like math, or learning to ride a bike where you kind of learn it and it rarely changes – this is something that changes every day.
Programming isn't a means to an end. It isn't a one-way ticket to a destination. Rather, coding is a never-ending journey. It's something that you always get better at the more you work at it.
Coding is a journey, but I also like to think of it as an art. The more you do it the more you learn, and the more you practice it the better you get at it. You learn little shortcuts, and you learn when to not use shortcuts. I always find myself working within restrictions1 and yet I still find myself doing amazing work. I think programming is an art because people use their creativity to work within limitations to create solutions to problems, and that right there is what makes coding an art.
Like Apple's App Store, iOS's SDKs, and the limitations of languages. ↩