I enjoy computer programming, math and physics, archaeology and many other things. However, focusing on programming, math and physics. In comparing these, I find that in programming one gets a chance to build a small world, to make an object behave as desired. You have a vision of an end result and then get to build the objects needed to realize it.
Math works in a similar way. Starting with simple objects like numbers, sets or abstract spaces; along with rules or axioms, one can build new objects. Whether we are discovering the new objects or inventing them is open to debate but again, one gets to start with a vision of something to prove (Theorem, etc.) and then build the steps to do so. In the process sometimes constructing or discovering new mathematical techniques and objects.
Of course in math, we can also choose to solve problems. Given a problem, construct a solution. Still a building process.
Physics I have to classify differently. In the physics world I feel like we are discovering and modeling our very existence. We are not building a new world, but through modeling and experiments, we are slowly discovering our world. I do doubt, however, that we will ever understand it all. I think we may think we have, and even come up with a Theory of Everything, but my guess is there is more out there than our minds can imagine and eventually the Theory of Everything would break. But it sure is fun discovering and imagining.