Why is math so difficult for me? I'm an aspiring software engineer and currenly in college for computer science. For some reason, no matter what I try, math is so unbearably difficult and indecipherable until I design a program for it. Yes, you read that right. I can break down a math problem step by step and write a program to solve it, but when it comes to doing it by hand, its a nightmare and I make it nowhere depending on the concept.
I'm not talking about basic math like addition/subtraction. I'm talking about more algebraic concepts like functions, rationalization, parabolas, square root operations, etc. It looks dauntingly difficult written out in math notation, and the math book is no help.
Programming makes math much easier to understand for me, but depending on the concept it can get very time consuming and overwhelming to build a program around it. Something as simple as $2^2$ is easier to understand if I write pow$(2,2)$. 
I want to understand it, its just difficult and seems impossible to understand it all. No matter how much I practice and research its tedious to gain an understanding of it. $f(g(x))$ only makes sense to me because it can be written out and visualized as 2 program functions. $g(x)$ "returns" a value, which is given to $f(x)$ as a "parameter". 
I've tried watching tutorials on YouTube, getting extra help, and even using Wolfram Alpha to walk me through problems. I just can't seem to overcome this obstacle. Any help is greatly welcomed. 
 A: To reiterate one of the points that @joel made, mathematics has its own language and oftimes, it is a language barrier that poses a difficult challenge.  It sounds as if you are able to translate from "math" to "computer code," and that means, perhaps, that your issue is not so much conceptual as it is the language issue.
So, how does one move from being adept at tranlating from a foreign language (mathematics language) to the native one (computer code algorithm)?  Some truly fluent multilingual folks acquired fluency in the second language by abandoning the "crutch" of their native language and focused on speaking the foreign one.  Upon the realization that they were no longer just translating, but rather thinking in the foreign language, the transformation to fluency was complete.  
It night not an easy journey, but it sounds as if you have the requisite conditions in place to succeed  - $1)$ desire to learn, and $2)$ conceptual capacity to make it happen!
A: It sounds like you just need more experience working with the math itself. If you understand pow(2,2) more than $2^2$, then you are doing ok. You just have to get used to the notation and language of math, and that just takes a lot of practice. John Von Neumann was one of the greatest mathematicians of the 20th century, and when asked in an interview how much of all mathematics he knew, his reply was "About 70%". He is also credited with much of the advancement of computers.
Despite all of that, there is one quote by Von Neumann that has stuck with me: "You never understand mathematics, you only get used to it."
Math takes a lot of practice. If you want to get more comfortable with it, you must force yourself to sit down and confront those things you have trouble with.
Also a relevant truism: "You don't understand anything until you can tell a computer how to do it."
