Live data from Hacker News

How much math you need for programming (2014)

lispmachine.wordpress.com

31–40 of 187 posts

Re: How much math you need for programming (2014)

#31
post #15
post #5

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…

I think (and I believe the parent poster does too) that math becomes relevant when things are starting to scale. Sure, creating an MVP of FB can be done quickly with minimum knowledge of maths. However, if it starts attracting a lot of users, suddenly algorithms and theory becomes very very important to minimize cost while optimizing performance.

Re: How much math you need for programming (2014)

#32
Unless you are doing something novel, not so much imo. I generally trust standard approaches and tools, I'm not trying to write my own encryption, right, or reinvent wheels. You can often get by with no real understanding of the underlying math, just what you put in, what you get out, and what that generally means. Lots of respect to you math geniuses who make it all possible. I'd rather play and prototype stuff than perfect and get into the nitty gritty. But math in programming is great for learning and understanding, it being actually applied.

Re: How much math you need for programming (2014)

#33
It's all depending on the domain you work in. When working as a web/app frontend developer I've barely ever needed any real maths knowledge beyond basic algebra. As a backend developer, I've had to read up on certain select algorithms. As a game developer I've had to study a bunch of trig, pathfinding and search algorithms.

It 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)

#34
I 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 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)

#35
post #34

I 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…

My CS tutor at university used to say that calling the discipline "computer science" is like calling chemistry "test tube science" :).

Re: How much math you need for programming (2014)

#36
1) How much physics and math do you need to ride a bike?

2) 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)

#37

Look, this discussion again. What exactly is math is never actually discussed.

and that’s so problematic that Wikipedia has a page on it: https://en.wikipedia.org/wiki/Definitions_of_mathematics.

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)

#39
As a CRUD or frontend dev you should be able to know the numbers from -100 to +100. Modulo is a bonus. Anything else is not required for the majority of programming jobs/tasks.

Yet beginners getting hazed and outsiders getting scared with CS/algodat and math is essential for keeping wages up and „normies“ away.

Post reply on HN