How important is Maths for Programming

Are you for real?

Speed when it comes to the majority of code hasn't been an issue for over a decade, time is money. This isn't the days of Assembly anymore.

Programmers make use of libraries. This is a good thing. It keeps things nice and consistent. The majority of programmers don't need to worry about the details of those when it comes down to it. Those who are going for library creation and optimisation, then what you say works. Trying to say it is a must for all programmers though (as is the impression I'm getting) couldn't be farther from the truth.

Are you for real?

Speed is important when ever you are programming some thing that has performance requirements, which is a large area of software.

Anyway are you saying that if you had a Address book of millions of names and addresses you would choose a vector or list and just iterate over millions of records because you don't care about performance, rather than choose a set or hash map (or other structure) to find entries effectively?

If the former then Intel must love programmers like you.

Yes, programmers use libraries, e.g. The programmer creating the Address book app can use a container library (or native libraries) and must choose what data structure they are going to use.
 
Last edited:
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.

Use a Cryptography library.
 
Speed is important when ever you are programming some thing that has performance requirements, which is a large area of software.

Programs need to be fast enough, but no faster. Roughly all programs have performance requirements, but DGEMM and Firefox don't have even remotely the same profile.

It's frequently the case that development time matters more than execution time.

Quickly writing clumsy code isn't my thing either, but I suspect the majority of software development works like this. It's otherwise difficult to explain the success of Java.
 
Programs need to be fast enough, but no faster. Roughly all programs have performance requirements, but DGEMM and Firefox don't have even remotely the same profile.

It's frequently the case that development time matters more than execution time.

Quickly writing clumsy code isn't my thing either, but I suspect the majority of software development works like this. It's otherwise difficult to explain the success of Java.

Exactly. The real world works on time and budgets. You simply do NOT have the time to make sure your code runs as fast as it can be. A competent programmer can write code that is reasonably fast, and that's all that matters.

Are you the type of person who would write Roller Coaster Tycoon 3 in Assembly, just so it'll run extremely fast, D.P? Because you're increasingly giving off the perception in this thread that you're a bit of a smarty-pants type, thinking the most complicated solution is always the better one (which it is not.) In a normal job you can't AFFORD to spend time writing your own solution if one already exists.

By the way, you don't need to know math to use hashmaps. If you honestly have to provide your own hashtag function to use them then your library sucks. Also, you shouldn't be using any of that for an address book. You should be using an SQL databse - which does the math for you.
 
Last edited:
All this guff about speed is only true if you are programming for a PC or phone platform. Small hardware platforms with limited cycles, memory, and possibly power require you to be very creative with the available resources. In these cases you may not have libraries available, either.
 
All this guff about speed is only true if you are programming for a PC or phone platform. Small hardware platforms with limited cycles, memory, and possibly power require you to be very creative with the available resources. In these cases you may not have libraries available, either.

Indeed, I was once in a meeting last year where the engineers were arguing about whether to double the ram from 2kb to 4kb. Lots of platforms have plenty of resource constraints, and modern sloppy coding just won't cut it.

On the other side, if you're scaling something at a large enterprise scale, like say the netflix streaming servers, then your priority shifts to very efficient code again.

Theres the other point that efficient code tends to be more stable code too.
 
Why are you trying to imply that that is any where near the norm when it is a massively niche part of the industry?

P.S. I'm working on one of the top 10 .coms in the country (100s of millions of hits a day). Efficiency to the degree you are specifying doesn't even come into it.
 
Last edited:
Why are you trying to imply that that is any where near the norm when it is a massively niche part of the industry?

Who has implied it is the norm ? I merely want to point out that saying speed hasn't been important for ten years is nonsense.

Having said that, I'd be interested to see some stats if you have some.
 
Quick example: stackoverflow.com tags. The most popular is Java, followed by C#, then Javascript, then PHP. Android makes an appearance in 5th. That's the first tag that resembles the "problems" described, but I'll be damned if anywhere near a majority of developers care about optimisation as much as is being made out here. Infact just looking at my battery usage from various apps I can tell already they don't. Plus it's Java.

The top four tags are all for less than optimal performing languages. C++ is the first that shows up (in 9th) that you can categorically argue is a language that demands developers code for performance. You'd think if it were nearer the norm it wouldn't have only 1/16th of the topic share of the top 10.
 
Hmm... I've never worked on any particularly large websites but as I understand most of them still use SQL for their backend. SQL is, by its very nature, inefficient yet it performs well enough. Why? Because the data structures in the database aren't too bad and if you know to index things then it performs adequately. No maths required.

You don't need to understand maths to understand algorithm efficiency. You need it to calculate it but that's something few programmers need to do to get on with their work.
 
crENNiK.png


http://xkcd.com/974/ :p


(also, op; this is all you need to know ;))
 
Most programming does not require a good knowledge of maths although some may argue that being good at maths correlates with being good at programming.
 
You're bowing out without providing any kind of counter evidence?

http://www.itjobswatch.co.uk/default.aspx?page=1&sortby=0&orderby=0&q=&id=900&lid=2618

The shear number of vacancies in the fields described by the list in this link suggest that there is a significantly higher number of people programming in these languages. Seems to correlate to the higher number of questions on stack overflow?

Maybe it is simply the case that the languages are more popular, therefore more questions are asked?
 
If you're trying to present that as counter evidence, I'm afraid you're not going to be able to do that. That only adds more weight to my argument that the performance problems depicted are not as significant as some in this thread think.
 
If you're trying to present that as counter evidence, I'm afraid you're not going to be able to do that. That only adds more weight to my argument that the performance problems depicted are not as significant as some in this thread think.
Sorry, I confused myself :p I agree with you :)
You're bowing out without providing any kind of counter evidence?
^^ Though I think that this perhaps was a little narcissistic? It's not really necessary to ask and it felt like you were lording it over him. A bit mean perhaps? :p
 
Back
Top Bottom