You should read Godel, Escher, Bach by Douglas Hofstadter.
This is an excellent examination of the way we think, and the relationship between axiomic systems and reality. The purpose of the book is to discuss AI possibilities, but to do such Hofstadter discusses the concept of thought really well. I was lucky to read this book quite young and early into my life as a programmer. As much as I think you can draw reflections of reality in programmming you have to realise that programming, mathematics, physics, all axiomic systems are approximations of reality and these approximations can fall over and often do when the system you are in stacks up its axioms.
"No matter where you go, there you are." BB