As a programmer, get your math sorted

14 csprimer-in 19 5/26/2025, 1:35:20 PM csprimer.in ↗

Comments (19)

bsnnkv · 1d ago
> Master the mathematical foundations essential for computer science

I get that this is marketing fluff, but I really don't like this sort of gatekeeping - it's what kept me from programming until I was almost 30

These days I'm quite a prolific programmer both on the clock and in my free time, and I wish I could have started earlier now that I know how little math is involved or required to build useful and beautiful things as a programmer

sn9 · 16h ago
It's unambiguously true that some amount of math beyond high school like that studied in Discrete Mathematics is essential for computer science.

That's not the same thing as being essential for programming.

That being said, studying more CS will only open more doors for you, giving you the tools to solve ever more complex problems, or the ability to recognize when something is effectively impossible.

It's not gatekeeping to point out that a field of knowledge will help you access other fields of knowledge. It's an invitation.

zmgsabst · 1d ago
About the only two things I’d say are required is Boolean logic and grade school arithmetic (eg, computing the right index).

There’s certainly roles that require more — but they’re the minority and you can always be taught on-the-job if it really matters.

threatofrain · 1d ago
Those jobs won't teach math on the job.
criley2 · 1d ago
I'd say algebra is required, just because that's what introduces variables and functions. If you get into programming without knowing algebra, you'll learn algebra on Day 1 without realizing that's what you're doing.
zmgsabst · 1d ago
Programming doesn’t require algebra[1], which is about manipulating equations.

You only need to understand processes and assignments, neither of which appear in a typical algebra class. You certainly won’t learn how to pass an algebra class about manipulating equalities by programming.

[1] — The high school kind.

pseudocomposer · 1d ago
LLMs are also very prolific programmers that don’t actually understand any of the math underlying what they’re doing.
bsnnkv · 1d ago
If you were trying to say something with this comment, it communicated nothing to me
nh23423fefe · 3h ago
Category errors are the new insults.
criley2 · 1d ago
"understand" is doing a lot of work here. LLMs can explain math and solve math problems better than most programmers.
modulovalue · 1d ago
The university I went to started its math education with groups, which is really unfortunate and they never even mentioned monoids.

Monoids are a key idea in computer science and I think that everyone should know what monoids are. Monoids are EVERYWHERE and once you recognize that you have a monoid you can immediately use known methods to compute over monoids in efficiently (e.g. https://static.googleusercontent.com/media/research.google.c...).

Once you have a certain lattice (I'm leaving out some details), you can solve problems efficiently by known methods (e.g. using dataflow solvers) and automatically have a proof that the solution always terminates.

I really wish that more people took their time to learn these fundamentals and I think this is a wonderful introductory site. I don't mean to offend anyone, but if you've never heard of most of that stuff, then I think that you don't deserve to call yourself a professional programmer. Why? You will reinvent solutions to problems that have been solved before much more efficiently then you will be able to i.e. you're an amateur.

david-gpu · 1d ago
> I don't mean to offend anyone, but if you've never heard of most of that stuff, then I think that you don't deserve to call yourself a professional programmer [...] i.e. you're an amateur.

Every person is going to have a different idea of what knowledge is essential, and as you point out, we don't know what we don't know.

It is easy to look down on people who don't know what we consider fundamental, but it takes a little bit of humility to realize that we are ignorant of what other professionals value the most. Different roles require of different knowledge.

devrandoom · 1d ago
Also, one important thing I've learnt is not to take in advice from obnoxious people.
david-gpu · 1d ago
During my professional career the most complex math I had to use was, perhaps, a square root. Something on that ballpark. And that's coming from somebody who enjoyed learning Runge-Kutta methods in college.

Your mileage will vary. I didn't even touch a DBMS after college, either, and I think that is going to be far more useful for the average programmer.

codr7 · 1d ago
As a theoretical programmer maybe.

Otherwise there are plenty of more important things to learn for software dev.

brightball · 1d ago
First thing that came to mind on seeing this title…

https://news.ycombinator.com/item?id=1041744

cultofmetatron · 1d ago
can't believe no one has mentioned mathacademy.com yet. pretty much the best resource on there rn if you wanna get back into university level math.
zuzuleinen · 1d ago
Is this related to csprimer.com?
thundergolfer · 1d ago
The LinkedIn on this one links to Arjit Sharma, not Oz Nova of csprimer.com.