In SICP (Structure and Interpretation of Computer Programs) an early distinction is made between "declarative" and "imperative" ways of knowing. If you teach the declarative aspect in mathematics you are teaching what I would consider the "language" of mathematics. It is in fact a language and has value on its own. Now, later we can put on the programmer's hat and work with algorithmic aspects (the imperative part). This seems very valuable to me.