Programming and Math...

Thor

Honorary Master
Joined
Jun 5, 2014
Messages
44,413
Reaction score
7,522
Location
Bellville
Back in school we had to take clean Math if we wanted to take IT, most people I have talked to also always tend to say that you need high marks in math to be a programmer.

Then I read this:

Every programming language has some kind of way of doing numbers and math. Do not worry:
programmers lie frequently about being math geniuses when they really aren’t. If they were
math geniuses, they would be doing math, not writing ads and social network games to steal
people’s money.

So my question... Do you need to be good at maths?

Don't lie please
 
What is "clean Math"?

I was good at high school maths, university not so much (too theoretical for my taste). I think if high school maths comes naturally to you then you're likely to be good at coding. Especially algebra.

Note I'm referring to 80's school maths here ...
 
Last edited:
Maths in high school is nothing more than simple concepts you gring or "drill" to be able to do them without much "thinking". Being good at maths at a school level can be a result of just puting in time to solve many problems and grasp the concept.

Programming is a VERY wide field, spanning from those hipsters with Macs at Starbucks writing apps for iOS/Android, those webdevs creating websites (or backend web managment systems), game devs, or people who design and build very complex systems used for things like simulating a moon landing, etc. Being good at programming is more of a case of having a passion for it, but I will add that I see MANY individuals who are good at both Maths and Programming, so while the correlation is there, it's not a NEED to be good at maths to be good at programming, but rather the two having some similarities in the type of people that are required to excel in it (passionate, hardworking and able to think on their own)


My opinion entirely, however feel free to disagree.
 
Back in school we had to take clean Math if we wanted to take IT, most people I have talked to also always tend to say that you need high marks in math to be a programmer.

Then I read this:



So my question... Do you need to be good at maths?

Don't lie please

I guess it depends what kind of programming you want to do. I would imagine that geometry skills could come in handy.
 
programming is mostly logic speckled with math, yet the better you are at math in the context of binary computing and all it entails, the more efficient the software you write will be, multiplied by the years of experience spent doing it.
 
Last edited:
The way I see it, math and programming share one very important concept: logic. Math is called the language of logic. If you are good at math, you may well be good at programming.

I wouldn't go as far as to say you NEED math - but if you want study further get used to it... the universe insists on including math in programming curricula. Some kind of perverse trick if you ask me. ;)
 
People who are good at Math follow a thought process that is very similar to what is required to write code. Both tasks require breaking the solution to a complex problem into its discrete steps. It is not possible in most cases to just immediate have the answer to a complex algebra problem, however, using techniques it is possible to formulate an approach and solve the problem step wise. Programming is the same. You have a complex problem, with no one-liner solution, yet you need to be able to logically formulate an approach that has discrete steps.
 
People who are good at Math follow a thought process that is very similar to what is required to write code. Both tasks require breaking the solution to a complex problem into its discrete steps. It is not possible in most cases to just immediate have the answer to a complex algebra problem, however, using techniques it is possible to formulate an approach and solve the problem step wise. Programming is the same. You have a complex problem, with no one-liner solution, yet you need to be able to logically formulate an approach that has discrete steps.

Okey this makes a hell of a lot of sense to me
 
Back in school we had to take clean Math if we wanted to take IT, most people I have talked to also always tend to say that you need high marks in math to be a programmer.

Then I read this:



So my question... Do you need to be good at maths?

Don't lie please

That quote doesn't really make any sense. Whoever made that statement sounds rather jealous and very negative.

Last year at UNISA I did Advanced Programming, COS3711. It required skill to apply design patterns and remember c++, but required no maths at all. Some consider those who got distinctions to be amazing programmers. Then there was Computer Graphics that needed application of linear algebra. The type of programming between the two was very different.

To be a decent programmer, you will need some ability with maths. You do not have to be a genius. Thing is, if you are good with maths and analytical skills, your applications will always be better than those who have a poor grasp of numbers. That is my take and opinion.
 
Considering I was programming in assembler at age 10, I'd have to say maybe not so important, but then I was and still am fairly good with maths. In the broader range of today's programmers I'm not sure maths really plays such a big role as it did when I started coding.

The more complex programming topics are typically published as reusable frameworks that most programmers just add to their apps without even a moments thought of what it takes to build something like this. Plus many of the UI tricks are just rehashing by way of the feature strengths of an underlying framework.

How many of today's programmer's even bother to try to understand the complexity of getting pixels to appear on a screen, or the difficulty to parse & lint the language they code in.

Plus you'd probably find far more kids questioning why we bother with time tables when we have calculators, or bother learning history when we have Google, and for many programmer's the same is said about stackoverflow and the like.

That said, having taught many people to program; I do find that those who avoided maths and sciences most often don't become programmers, especially once they realise just how laborious it can be to get something up on the screen.
 
Last edited:
So my question... Do you need to be good at maths?

It really depends on what you are doing. I do mostly scientific programming, so I use maths and stats every day - my whole team has an extensive mathematical background.

In other fields you may never use it - one caveat though, is even in day to day work, perhaps you are debugging some sporadic bug or trying to understand what factors affect performance, or estimate the run-time of something, you may be far more productive with good maths. Perhaps you may be able to calculate whether the sporadic event is happening at the probability of some phenomenon, in order to see if they may be related, or you can create a multivariate linear model to predict performance of some operation, and then see which features covary with performance in order to figure out what should be targeted next. Perhaps the exact run-time of something, or space required of something can be computed via a combinatorical formula. Perhaps you want to generate a more realistic network traffic pattern, so you use a Poisson process rather than a naive uniform random or perfectly periodic process to time packet sends. etc.

Anyway, the point of the above is that although many people think they do fine without maths (and sure, they do), but they are often not as effective as they could be at solving the exact same problems, since they don't have as extensive a toolbox - and they never even know it! For the "very hard" programming problems out there, this is often the only way to go about achieving what you need to achieve. Most problems are not "very hard" though, but the skill set to solve such problems tends to be much more rare than the problems themselves, making solid maths a really good skill to have from a supply and demand perspective.
 
OK I have to ask, why?

Geometry and trig are very much used when it comes to programming things like game engines.

As Cguy stated - there are some programming tasks which require math skills and some that don't.
 
Geometry and trig are very much used when it comes to programming things like game engines.

As Cguy stated - there are some programming tasks which require math skills and some that don't.

Ah ok. Trig and algebra I can understand as it involves variables and logical thinking but again geometry was not my strong suit and definitely don't use it in any coding but it's not "world interactive" like a game engine so makes sense.
 
Totally agree with [)roi(] and cguy.

Most of us (myself included), don't really have the need to have excellent math skills since what we do is usually plug into frameworks an d libraries. I fully intend to get better by going to lower level languages and perhaps exploring some of these libraries. If you're doing something in scientific computing, game development, quantitative finance and such, then math is really important.

I remember the computer graphics module at university (which I didn't do) needed an understanding of linear algebra. I am busy learning some game development and it requires a fair amount of math.

Perhaps the only math I've really used in my line of work is set theory for SQL queries and picturing data in your head.
 
The way I see it, math and programming share one very important concept: logic. Math is called the language of logic. If you are good at math, you may well be good at programming.

I wouldn't go as far as to say you NEED math - but if you want study further get used to it... the universe insists on including math in programming curricula. Some kind of perverse trick if you ask me. ;)


Yeah I don't think it's a case of really needing one for the other but rather showing aptitude towards programming.

The entire notion of having a 16 year old choose their life path with little to no information at all...that is just such a broken system.
 
Linear algebra and applied math. Stats too. Valuable for R programming and data mining.
 
I don't think that the literal material covered in Maths is what is required (algebra, geometry, etc..), but rather the skills it provides in order to solve those problems. Cognitive ability is greatly enhanced by solving mathematical problems, but it is not those problems that enhances it, it is the cognitive exercises used that enhances the capacity.

In programming, you deal with conditional statements, loops, links, etc.. the thinking and design around those become easier for those with a mind adapted to a mathematical way of thinking..

And before anyone jumps up with the "I never did maths and i've been programming for 600 000 years", it would have been easier if you had.
 
Top
Sign up to the MyBroadband newsletter
X