I have/had a few colleagues with almost no math knowledge beyond primary school. One was quite a good programmer, interested in all kinds of technical stuff. He had failed secondary school because of, well, reasons, but he wasn't dumb, and wrote decent code and was quite inventive. Another one was someone with a business school degree who had changed careers. Not a glitch in his school career, but his math was very w…
Followed you fully, right up to the end. Why would a good understanding of math be invaluable to start the next big thing? At their core, isn’t what makes them great, their simplicity? Upload videos, connect with other people? I’m no math wiz but can probably code an MVP of the product that FB and YT were when they launched. The colleagues you described probably could too. Would love to learn more about the hidden co…
How much math you need for programming (2014)
31–40 of 187 posts
Re: How much math you need for programming (2014)
#32Re: How much math you need for programming (2014)
#33It also depends on the stacks you work with of course. If you are doing doing a lot of Haskell for example you probably want to understand category theory and lambda calculus and whatever.
Re: How much math you need for programming (2014)
#34Confusingly, CS is considered to be a branch of mathematics, but it is still quite different from "traditional" (up to 19th century) math (linear algebra, calculus). I have a slightly different philosophical view, I consider CS to be on equal footing with most of traditional mathematics. In my view:
- Traditional math (which came mostly out of physics and geometry) studies primarily infinite but countable structures (functions on countable sets, infinite series). The finite structures are often considered trivial, and the uncountable structures are considered to be too large to have practical importance.
- Computer science (gosh I wish there was a better name of the two disciplines) is concerned with finite structures which are too large (in practice, functions on sets with more than 2^32 elements) to be represented by enumeration. In analogy to finite/countable/uncountable sets distinction in traditional math, small structures that can be enumerated in practice are trivial in CS, larger structures (infinite ones) are pretty much impractical, and they are simply universe in which we operate. (This leads to algorithmic languages, which are essentially descriptions of arbitrarily large finite sets.)
- There are other branches of mathematics, logic, category theory, algebra, which are concerned with building bridges between the two above subareas, which are probably many.
My point is that for (theory of) programming, you need computer science (focus on large finite sets), and study of infinite sets is less useful. But historically, it's not how mathematics became subdivided, and it is a distinction useful from applications of mathematics, not mathematics as a general study of structures (regardless of size).
Re: How much math you need for programming (2014)
#35I would say computer science is useful, but as in any craft, you can get by without a theory. Confusingly, CS is considered to be a branch of mathematics, but it is still quite different from "traditional" (up to 19th century) math (linear algebra, calculus). I have a slightly different philosophical view, I consider CS to be on equal footing with most of traditional mathematics. In my view: - Traditional math (which…
Re: How much math you need for programming (2014)
#362) How about designing and manufacturing a bike? Spokes and gears and diameters and metal expansion / contraction coefficients and whatnot.
3) How about doing number 2 from scratch? You start with some iron-enriched bacteria sludge ....
For 1), not a lot. Same for basic applied programming. I was perfectly fine modifying source code files to change strings & output without understanding any math, or even much programming.
For 2) When I wanted to develop a trading application, I needed some. It was before proper APIs, so I had to learn about rounding and what pitfalls it entails for currency. But today so much of development is glue. I made a license scanning and identifying app just by using someone else's code and gluing it together, but you bet there is math underneath doing the text recognition.
And then, if you want to develop something algorithmic, such, as, an example, a search algorithm, well, you are basing your algorithm on theory, and some of it math. Behavior and the concept of quality comes in, etc etc, but you better be good at math.
So really, if you want to make a product, you should be asking how much traction do I need before I invest more in the product.
If you want to program, you want to program what you like. If you need to program to solve a problem, then you start with the science classic, the literature / domain review. It sure will outline how math heavy the domain is.
And if you want to address something with math, you probably know at least some math. I'm not going into how you address finding out what you don't know.
My point, as many others have made above, is: how much math you need for programming depends on what you need to program, and why.
Re: How much math you need for programming (2014)
#37Look, this discussion again. What exactly is math is never actually discussed.
What’s more, that page says “Mathematics has no generally accepted definition. Different schools of thought, particularly in philosophy, have put forth radically different definitions. All proposed definitions are controversial in their own ways.”
I think all programming can be considered math (not higher math (https://www.merriam-webster.com/dictionary/higher%20mathemat...: “mathematics of more advanced content than ordinary arithmetic and algebra, geometry, trigonometry, and beginning calculus”), but math)
Re: How much math you need for programming (2014)
#38Re: How much math you need for programming (2014)
#39Yet beginners getting hazed and outsiders getting scared with CS/algodat and math is essential for keeping wages up and „normies“ away.