A problem with your question is that "mathematics" and "programming" are both very wide and deep subjects about which there is more to know than anyone could master in a lifetime (no exaggeration).  I personally hold an MA degree in mathematics.  During my time in university, it seemed as if the more I learned, the less I knew compared to my peers; it felt is if I became less intelligent over the years.  When I presented my master's thesis to a group of professors, even most of them seemed to be largely unfamiliar with what I studied.

Likewise, I am now a database-driven web application developer.  If you compared me to someone who does embedded assembler language programming, you might think of us as two very talented professionals, but we would have vastly different expertise even though we're both "programmers".

As you progress in your study of higher mathematics (beyond freshman calculus), you will find that mathematics instills a discipline for abstract reasoning that will serve you well when you program.  I think that this discipline is very important because you will deal with abstract concerns as you program.

Sure, in freshman programming, you will likely learn about pointer arithmetic.  You will write short programs to illustrate this concept and your understanding of how it drives your computer obey your will.  However, learning about how pointer arithmetic works in the abstract will not make you good at using pointers in a real program.  When it comes time to take on a mess of 10K lines of code and make some changes to the pointer arithmetic, you will need to be able to reason at a very abstract level, making strategic decisions to balance different concerns about how your changes will affect the code.

As a programmer, you must balance "readability" of your code, performance of your code, ease-of-use of the resulting programs, among many other concerns.  You must be able to make very abstract comparisons to balance these concerns among one another.  You will make many of these comparisons every day.  I haven't even gotten started about time-management.  You will abstractly reason about the probability that something you do will affect your ability to do your tasks on time, and once again, you will make many decisions every day that will affect your work.

Finally, you must maintain your philosophical discipline to be able to assimilate new ideas and concepts in order to be able to continue on as old methodologies and practices fall out of use.  Once again, you will have to be able to evaluate the ideas that come along and make an abstract comparison to what you already know.

In short, programming, as most of us know it, doesn't have a whole lot to do with mathematics, as most of us know it; but when you look at it at an abstract level, they have a lot in common.

What does mathematics have to do with programming?
I need help I'm working on a project that needs to translate the language of the site automactically depending on the country the user is from. I've never done this before so please any help would be wonderful.
