I think programming doesn't make one smarter; it's counter-intuitive, yeah, I know. Combining the art of programming with other fields of life is what makes one smarter. Being versed in other fields allows a coder to transfer concepts in these other fields into programming. Learning to think up new ways to build things with influence from the outside world allows me to unleash a huge amount of creativity. Programming alone, independent of other arts, is boring, repetitive, and uninteresting.