Programming is more art then anything since it's definitely not a science, nor is it mathematics or engineering.
It's similar in principle to architecture or interior design.