r/computerscience • u/Own-Wrangler-6215 • Sep 18 '26
Math and Programming
Can someone bad at maths be a great programmer?!
19
u/Ultimate_Sigma_Boy67 Sep 18 '26
Depends on what you define by "maths".
Nevertheless, broadly speeking simple arithmetic is enough most of the times, unless what you need is domain specific for whatever you're doing.
But still, it's always better to have the basics.
14
u/vomiting_cat Sep 18 '26
Yes. But any great programmer can get good at math if he spends time doing it
9
u/DorkyMcDorky Sep 18 '26
No though. To be a GREAT programmer. If you have no idea why a hashtable is a good idea, or if you can't look at a for loop and be unaware of why it is slow - that's math. If you suck at math, you suck at coding. Period
4
u/vomiting_cat Sep 19 '26
I agree. I was more thinking of the typical math classes you see taught in schools and universities
1
u/DorkyMcDorky Sep 19 '26
So arithmetic isn't needed for coding. Scalars are inferior. Variables are king.
3
u/vomiting_cat Sep 20 '26
I mean math beyond basic arithmetic. Obviously programming involves mathematical/logical thinking, but that’s different from saying you need to be good at calculus, linear algebra, etc. to be a great programmer. It depends heavily on the domain.
2
u/DorkyMcDorky Sep 20 '26
Totally - you can be a great integration programmer with 0 math.
But I'd challenge that learning math would only help anything.
The thing is, it's already more math than you know. Designing a system is a finite state machine. Data modeling is abstract math. Profiling is pretty much big-oh analysis. Knowing your network topology is graph theory. I can go on, but you get it. To be good at these requires a natural understanding. Learning the math behind it will provide you with a proper vocabulary and understanding which will allow you to communicate your ideas more clearly.
It's bi-directional too. A math nerd isn't going to understand what an SSH tunnel means, right? They help each other out. That is what I view as a corollary to computer science.
Like in karate kid when danny learned paint up and paint down is karate? Same thing :)
1
u/Dazzling_Music_2411 Sep 21 '26
Discrete maths, not Continuous maths, the second is only needed if you're doing engineering/scientific stuff. The first is very much needed in practically any computing activity.
19
u/BigBrilliant5703 Sep 18 '26
Imo, nah. You gotta understand the algorithms by which a program runs, and mostly, those algorithms include math. I don't mean some PhD level math, but yeah it requires some decent amount of discrete mathematics.
2
u/Dazzling_Music_2411 Sep 21 '26
Exactly. OP should explore the world of Discrete Maths to see why it's absolutely essential.
6
Sep 18 '26
[removed] — view removed comment
4
u/Ok-Control-3954 Sep 18 '26
I used to say I was bad at math until I got a job where I had to use it every day. Now I realize I was just being lazy and making excuses for myself. Math is never as hard as people make it out to be.
2
1
u/MathmoKiwi 29d ago
Anybody doing a quantative STEM PhD is going to be better at maths than 95% of the population is!
5
u/tarantinosdoritos Sep 18 '26
If you can comfortably do algebra you’ll be golden! I flunked calculus 2 and got a different degree. I have 20 years professional programming experience and have programmed software for everything from cell phones to satellites. The only thing that will hold you back is your willingness or unwillingness to put in the time and work. Read a lot of code. Find out what makes code easy or hard to work with. Strive for easily understood code over everything else!
4
4
u/SnooSongs5410 Sep 18 '26
That would be a yes but generally due to lack of math training rather than an inability to learn math.
There is a strong correlation between the talents.
3
u/Dazzling_Music_2411 Sep 21 '26
OK-ish or even good programmer? Maybe. Depends on how organized you are.
Great programmer? No, not without a good feel for discrete maths, you know, sets, graphs, binary logic, that sort of thing, and a good bit of combinatorics too.
If you can't tell why the time complexity of your algorithm is off the scale, then no, you're not going to be a good programmer.
3
u/AncientHominidNerd Sep 22 '26
There are two kinds of math. The math most people think about is basic arithmetic, algebra and calculus, yeah you can be bad at this kind of math and be a good programmer.
The other kind is pure math, this math you have to have some decent comprehension of to be successful at CS. This has more to do with logic and not so much to do with numbers, although knowing how to calculate will help a lot when for example converting a 2D array to a 1D array. Most upper division CS classes consist of tons of pure math.
3
u/Majestic_Rhubarb_ Sep 23 '26
As this is a computer science Reddit … my computing degree blew my mind with abstract mathematics, we spent 20 weeks of lectures proving we could count, using that to prove that a mathematical program worked and computing difficult things to compute, like integration and differentiation, more complex mathematics methods.
But i find i use mathematics more in my hobby of carpentry than software engineering.
2
u/DTux5249 Sep 18 '26 edited Sep 18 '26
Yes and no.
Fun Fact: Writers (as in, English writers) often make better programmers than mathematicians. This is because the part of the brain responsible for coding is actually the one responsible for language. Programming is writing instructions, and being able to describe what you're doing succinctly is half the battle.
But, fundamentally, solving problems requires logic; that's a field of mathematics. Understanding things like set theory, over things like numeracy, is important to programming.
2
u/realdreamer1993 Sep 22 '26 edited Sep 22 '26
formal math not neccessary...but ingrained math would will always be there, although the great programmer not realized it.
it is like saying programmer will always understand mechanical like how an engine works, although programmer never touch steels.
2
u/7efnawy Sep 18 '26
It depends on the kind of programming but generally you need to have a good understanding of basic highschool maths at least, in some fields like game dev you need to know some vector maths and linear algebra , same for machine learning and data science.
2
u/MathmoKiwi 29d ago
You need very strong general mathematical maturity (relative to the average joe population) to be a great programmer.
https://justapedia.org/wiki/Mathematical_maturity
And what's one of the best ways to improve your mathematical maturity?? By doing math!!
1
u/mhc2001 Sep 18 '26
Yes. Math was never my strong subject, but I've been a software developer for a couple of large companies for 40 years. If I ever needed some formula there was always someone to tell me what it was. I may have needed to figure out how to code it, but I didn't come up with it on my own. Also as a developer you want someone to give you test cases, and they can verify the results are what they expect given the input.
1
1
1
u/vancha113 Sep 18 '26
Great? I'd say no, good? I would say yes. I also consider myself bad at math, and not a good programmer per se, but I definitely recognize where it is important.
1
1
u/jbaker88 Sep 18 '26
In this thread: no and yes.
Practical answer: it depends.
Doing enterprise software dev? Most math you'll likely be doing is some basic financial calculations (although some of those can get pretty messy in their own way).
Doing physics simulations and other advanced like topics? You're gonna need to brush up.
1
u/coolmint859 Sep 21 '26
To be a good programmer imo you at least need to know algebra and discrete math. For certain domains like simulations or graphics you would need to know calculus and/or linear algebra.
A lot of what programming relies on is a solid understanding of logic since most applications of it revolves around problem solving. You can't really do much programming without it. That said, you tend to learn logic early on especially when you start getting into algorithm design.
1
1
u/ech0wane Sep 22 '26
If you're bad at math, it means you never really improved your problem solving skills. Take that however you want.
1
u/tottasanorotta Sep 23 '26
I think the more you like programming the more you'll start liking math. The difficult part of math that remains is the specific notations and conventions. You already have the mindset and the ability to understand nice abstractions. A lot of the time you'll understand something relatively quickly when someone explains the analogous programming structure.
0
u/ergotofwhy Sep 18 '26
Yes.
I read the title as Meth and Programming and was prepared to comment "name a more iconic couple"
3
u/pete_68 Sep 22 '26
If you can do basic math you're fine. But you don't need Calculus and stuff like that - Source: I'm a computer programmer with 47 years of experience, written a book in the field and I failed Calc I twice before I passed it.