The best teaching often jumps back and forth between the two.
Mathematics can be thought of a simulation of properties of the world inside people's brains which verify the result. Sadly, there's no shared comprehensive framework outside our brains for visualizing [1] and organizing all of it, since it's very flexible [2]. And thus most people miss out on experiencing the beauty of many results.
I sometimes wonder if LaTeX augmented by context (and visualization) would help, and I wish Mathematica was open source to aid this. At the same time, we are faced with incompleteness results that put into question any formal organization of mathematics [3].
[1] https://vimeo.com/36579366
[2] www.jeremykun.com/2013/02/08/why-there-is-no-hitchhikers-guide-to-mathematics-for-programmers/
[3] http://inference-review.com/article/doing-mathematics-differ...
Sorry for the long rant.
Yet, when discussing it, <i>while learning</i> with math folk, it's usually met with "You don't have a degree" or "That's not a formal understanding of the definition, come back". It's completely exclusionary and killed much of my math passion until recently.
Rather than wishing for this that will not happen, let's work to make Sage, particularly SageMathCloud (https://cloud.sagemath.com), the lingua franca of CASs.