@Jason818:  All programming and mathematics is a meaningless set of symbols with a set of formal rules for how to manipulate them; any structure and meaning is emergent.  As a coder, you need to appreciate that any symbol is actually arbitrary, and in the end this will free your mind to be able to code.  For more in this vein, this should satisfy your artistic and analytical mind:  http://www.amazon.ca/Godel-Escher-Bach-Eternal-Golden/dp/0465026567