I feel like the whole point of "math" is to abstract these natural patterns so we can like... write them down and investigate them further. We have a limited mental capacity so we abstract it into a syntax/system of meaning so that we can let the paper or the computer do some of the memory work for us.
If you're doing it in your head, sure that's a skill, but is it really math?
It's never felt like math to me. If it did, I probably wouldn't be able to do it. I'm not especially good at math and feel damn near dyslexic when I try to read math-notation-heavy writing. Programming, meanwhile has always come easily and naturally.
... except the languages that try to look like math. Looking at you, Haskell. I get the concepts just fine, but I can't stand the style.
As someone with a background in math, I think that makes total sense. I don't feel like there's any magic reason why practicing reasoning under (one of the many paradigms of) mathematics would automatically carry over to the type of reasoning you practice while programming any more than the previously mentioned exercises.
The only times math has helped me is when the programming I'm doing straight up references mathematical concepts I've practiced with (matrices, group theory, etc). Which is a pretty uncommon occurrence in my current position.
If you want your background in something else to help you with programming I think you'll have to put conscious effort into identifying and using the relevant abstractions and metaphors
Microprogramming was the kind of thing where you're trying to, for example, cut down an assembly loop to run in 6 cycles rather than 8, design a numerical algorithm, an operating system scheduler, or similar. This is very mathematical in style of thinking.
Macroprogramming is what happens when you write a database-backed web application, for example. It's much more linguistic. It's about understanding other people's code, writing your code to be understood, and gluing a lot of stuff together.
Both have their place. Macroprogramming is taking over now, but I enjoy microprogramming more.
I don't think that's a good way to define it. But if we do define it that way, then saying "x is math" becomes a very weak and much less interesting statement.
Is it not? Adding numbers in my head is certainly math. Algebra in my head is certainly math. Why would it stop being math just because I'm doing it more abstractly?
Advanced math typically starts with logic and structures, not numbers. Even when they study numbers, they tend to be focusing on their qualitative properties: compactness, convexity, primeness, etc.
Which isn't that bad a thing to do.
Many programmers could use more formal logical thinking (or, just, logical thinking to begin with). DailyWTF situations, which most of us have seen in our jobs, are often the case of non applying basic logical principles properly.
But a lot of real world "logic" (decision theory, etc) is statistical in nature, often with a big inductive component and often based on "axioms" that only approximate the real world.
In other words, the field of Analytic Philosophy, when not using the proper amount of math and statistics (especially Bayesian statistics) tend to either lead to doubting everything (if they know what things they do not know) or drawing bad conclusions (if treating their axiomatic assumptions as absolute truths)
They have similar problems with science, and maybe Physics in particular, because of the abstraction of modern physics. By interpreting statements made by some physicist too literally, they may (falsely) end up with conclusions that go way beyond the domain of validity of the original statement.
Imho, Philosophy is fine as a side-project for people in academia, but I think philosphers who do not study math, science, psychology, etc at a level comparable to their philosophy work are at risk of ending up in lala-land.
I would estimate that if someone studies only philosophy in college, they will reach a point after about 1 year where their knowledge of philosophy come to a point that requires more understanding of math, science etc than they had when they started. Kind of like a physicist that doesn't take college level math.
Inference rules, axioms, language?
I’ve heard people say things like, “The world is math”, but it never seemed particularly coherent to me. Sometimes I’d assume they meant, “Inference systems with mathematical languages make useful predictions about my empirical experience.”
But now I’m favoring the interpretation that experience is purely formal/syntactic with no semantic component. There is no additional meaning beyond (or behind) appearance.
If the formal/syntactic appearance is how leads to new possibilities involving more formal/syntactic appearances, then that is its meaning.
But isn’t that just some hidden metaphysical structure? That is, it’s unavailable as formal appearance?
Whether it is using symbols, pebbles or categories, it is neither better nor worse.
But they make people think that “maths” is just a terrible abstract construction.
Same for when a builder chooses to use a different type of fastener when constructing something. It could be borne of experience, but I would not necessarily call it material engineering at that point. Even if the exact same practice is how materials exploration happens, at a superficial level.
What's interesting is when the real, practical world runs into the theoretical, abstract math world.
https://petapixel.com/2019/07/05/goodbye-aberration-physicis...