2 ms·
Mathematics is different from programming as an activity and ontologically. Activity-wise, mathematics is about intuiting and proving theorems to progress the
by jll29 4y ago
Mathematics is different from programming as an activity and ontologically.
Activity-wise, mathematics is about intuiting and proving theorems to progress the frontier of knowledge about abstract mathematical objects (groups, probability distributions, triangles, matrices, knots, ...) and their interconnections. This has little to do with programming, but
proofs by mathematical induction (German "vollständige Induktion" = "complete(d) induction"), which is actually - like all mathematics - a deductive method, can be better understood after understanding recursion and loops. It is also very hard.
Ontologically, for instance, "x = y" in mathematics means "the unknown value x equals the value y", and that is true always, at any time (until the context changes from one theorem/proof to another, when x and y may be 'recycled' without saying it explicitly). In contrast, "x = y" in (e.g. Python) programming means, "look up the value stored in the memory location labeled y and copy that value to the memory location labeled x." This is rarely said in textbooks and tutorials, so I tend to make a point of stressing this when teaching programming, in particular to non-computer scientists.
What the OP refers to is perhaps more applied mathematics than mathematics, though: using mathematics as a modeling tool.
I like the OP, but what is missing from it is the recognition that a lot of what he talks about is already happening in machine learning: any machine learning is mathematically a numeric optimization process, so all these tools like Tensorflow or PyTorch under the hood use what the OP calls "FORTRAN" way, often implemented in C++ and sometimes actual battle-tested FORTRAN libraries (e.g. via NumPy https://numpy.org/doc/stable/user/building.html#accelerated-blas-lapack-libraries https://numpy.org/doc/stable/user/building.html#accelerated-...).