How important is Maths for Programming

Exactly this!

I did a cryptography module for my computer security degree final year. Understanding an algorithm is one thing, being able to write a program that uses the algorithm is another. If you really struggle with maths, then the cryptography area will likely be very hard for you.

Cryptography is a tiny niche area of the software industry.
 
How those that think maths is not that important to programming, what programming do you actually do?

I love quarternians, rotations about any arbitrary axis. I have absolutely no idea what the heck it is, how it works, or why it uses a fourth dimension, but I can read the formula and program in the functionality to make it work.

Quarternians have dimensions of Complex^2, so aren't strictly 4 dimensional, but are represented as such for exactly the reason you describe, to make it work on a computer.
They are horrible ways of doing rotations though.
 
I'll repeat this again, even in areas that don't think you need maths because it isn't mathematical you will need to use maths.
E.g., just making a simple website required me to do some vector transforms, rotations, line intersection tests. I find it almost impossible to get away from basic trigonometry and linear algebra.
Doing something simple like sending an email when the number of users is not normal required a fair amount of statistics.

Doing pretty much any programming will require you to understand trees, graphs, graph traversal, sorting, hashing, dynamic programming, etc.

You will also find that stats gets used all the time, as I said , boss wants to know when the number of users connected to your server is higher or lower than normal. Simple kind of request but this required a fair chunk of statistics to handle noise and underlying parameters.
 
Well to pick up on the impending semantics: all programming is akin to algebra but I think it's clear enough that we are referring to any kind of complex number crunching that is not prominent in a very significantly large proportion of software.

It's a safe bet you'll need to do some multiplication from time to time but I've only needed that for stuff that would need it outside of software as well.
 
How those that think maths is not that important to programming, what programming do you actually do?

Quarternians have dimensions of Complex^2, so aren't strictly 4 dimensional, but are represented as such for exactly the reason you describe, to make it work on a computer.
They are horrible ways of doing rotations though.

This is one of those questions where there is no right answer.

I only ever did maths to GCSE level, but I can write acceptable C#, and I can hand-write large scale 3D models with no problem at all.

I think that a lot of posters are confusing the study of pure maths, with the use of mathematical concepts; I certainly couldn't pass a maths A-Level at the moment & I don't necessarily know the proper terminology for a lot of the bits involved in what I do.
Maths per-se isn't important, but I'm using trig, vectors and other bits and bobs.

http://github.com/leezer3

http://www.bvecornwall.co.uk

Cheers

-Leezer-
 
E.g., just making a simple website required me to do some vector transforms, rotations, line intersection tests.

In fairness, I'm pretty sure what you're describing would not have been a "simple" website to many people, and may not really be a representative example? I don't disagree with you generally about maths being useful though.
 
Last edited:
Solving a complex maths problem requires a methodical logical mind. Breaking a big problem down into discrete steps.

THAT is where maths and programming really meet.

Maths is only used in programming if you are solving a maths problem.

This is how I think about it.

I was just okay at maths when at school, but I would have been better at it if I understood why it would be so useful. I considered it broadly too abstract, so never really gave it enough attention.

However, I've always had a logical and analytical mind which means I'm actually quite good at maths when I put my mind to it. When situations have required it. I've been a programmer of various languages for over 10 years and have a degree in economics.

So really, it's not about being good at maths as an enabler for programming, or the other way around it's about being logical, analytical and able to break problems apart, then be meticulous in solving each. Being like that enables a person to be both good at maths and good at programming.

I'd probably even go as far as to say that having a flair for written language could be just as good an indicator as a flair for academic mathematics.

Structure, conciseness, efficiency, grammar etc are all relevant in that field too.
 
This is how I think about it.

I was just okay at maths when at school, but I would have been better at it if I understood why it would be so useful. I considered it broadly too abstract, so never really gave it enough attention.

However, I've always had a logical and analytical mind which means I'm actually quite good at maths when I put my mind to it. When situations have required it. I've been a programmer of various languages for over 10 years and have a degree in economics.

So really, it's not about being good at maths as an enabler for programming, or the other way around it's about being logical, analytical and able to break problems apart, then be meticulous in solving each. Being like that enables a person to be both good at maths and good at programming.

I'd probably even go as far as to say that having a flair for written language could be just as good an indicator as a flair for academic mathematics.

Structure, conciseness, efficiency, grammar etc are all relevant in that field too.

Yes some of the best early programmers came from a language type background. But people who are great mathematicians also tend to be great at languages too, so thats hardly surprising.

In fact, the worlds first programmer is often cited as Ada Lovelace, who being the daughter of Lord Byron, probably wasn't too shabby at languages herself. Of course, she was first and foremost a mathematician. :p
 
How those that think maths is not that important to programming, what programming do you actually do?

Apart from the usual pile of hobbyist stuff, 8 years of computer games programming, 3 and a half years of CAD/CAM and now I write this and that for biological analysis and modelling.

I have a strong maths background but most of the people I've worked with are poor, some didn't even have GCSE maths. They still produced working code.
 
I know that you probably don't need A level maths really, but a D grade at GCSE would indicate to me that you're probably won't have an aptitude for it.
 
I started off my career as a COBOL85 programmer after graduating, from my experience you need a decent grasp of mathematics to ensure you write optimal code let alone understanding what your code is doing at varying stages of execution.

When I say decent grasp, it doesn't have to be degree level but understanding Algebra will help given most code you write will have numerous variables that you are passing around between functions and processes.
 
Well to pick up on the impending semantics: all programming is akin to algebra but I think it's clear enough that we are referring to any kind of complex number crunching that is not prominent in a very significantly large proportion of software.

It's a safe bet you'll need to do some multiplication from time to time but I've only needed that for stuff that would need it outside of software as well.



I think you are missing a lot of what people are saying.

You can end up needing some math in huge amounts of mundane tasks like even Web design you can end up needing trig, linear algebra, transforms etc.

And even in front end application programming it is mortar t to know concepts such as the set's bin tree data structure yields search in O(logN) vs a hash map in O (1) but hash keys with O (m) and a key collision of x:N
 
A lot of people in this thread talk about maths from a pure theory standpoint - which just scares people away.

Yes, you're going to have to understand quite a few mathematical concepts (mostly in the realm of Algebra) however, they're applied problems and once you do a bit of googling and practise when you come across them, they're second nature. It isn't like pure maths where you need to have a different way of thinking to solve extremely abstract problems at all. (Unless you're doing programming specifically for mathematical applications).

And don't forget, even if you disliked Maths at school, when it is given application for something you enjoy doing, you're going to quickly lose your dislike of it. I find most people tend to hate Maths because they don't see a use for it outside of school.
 
I think you are missing a lot of what people are saying.

You can end up needing some math in huge amounts of mundane tasks like even Web design you can end up needing trig, linear algebra, transforms etc.

And even in front end application programming it is mortar t to know concepts such as the set's bin tree data structure yields search in O(logN) vs a hash map in O (1) but hash keys with O (m) and a key collision of x:N

And you're missing the point that no, it doesn't. I think I've only ever had to worry about binary searching once in my entire career, and that was for an interview test. The rest of the time it is just of insignificance.

.indexOf() or .FirstOrDefault() et al. do the work for me, in 9999/10000 cases.
 
Back
Top Bottom