Do you need math to program?

in #technology7 years ago (edited)

doyouneedmath.png

One of the most controversial question in world of software development is involvement of math in programming. This is one of the biggest concerns of people who are eager to learn programming and in my opinion, many articles don't give the right answer / are unrealistic or they just leave one who asks such question in even bigger confusion. I want to finally give a reasonable answer to this question (although I'm most probably not the first one who did that).

So, do you need math to program and if yes, how much? To answer this question, you need to ask yourself what kind of job you want to do. Are you okay with spending your whole career as plain web developer? Or you're more interested in contributing to breakthroughs in computer science with your knowledge of programming? Okay, I may have given a bit extreme examples. But it's quite important to know where you want to go, because there are many different routes. I'll ask different question; do you need math to live fulfilling life today ?

Programming is one kind of a math. Every program you ever wrote could be described mathematically as it boils down to 1s and 0s which machine understands at the end. Loops, vectors, functions, variables; these are all terms which are well known to mathematicians. Galileo described math as language of the nature in his famous quote The book of Nature is written in the language of mathematics. And he wasn't far from truth. Math is so big and as a result of that it became impossible for individual today to learn all of it. Even greatest experts in math today, like Terry Tao, are mostly focused only on certain fields of it. And guess what, they also have fields in which they're struggling! If you don't believe in all of this, watch this interview.

Even social sciences today use math for prediction and analysis of certain phenomenas. If you would like to get slightest clue on how vast the world of math is, take a look at this very interesting video:

Okay, enough with praising math. I hope I pumped you up at least a bit with this glorious speech about math. But let's return to our question. Yes, you can be a programmer without knowing much math and yes, you can definitely live fulfilling life without knowing advanced math. But, I think that avoiding math would leave you behind many great things which are happening in our world today. How many times per day you hear about blockchain, machine learning, big data? There is lot of math involved in all of this fields. You can't become a serious blockchain developer without understanding how blockchain truly works. You can't become a serious machine learning engineer if you don't know what matrices are. Even as a web developer, you may stumble upon the things which are solved efficient only with the use of more advanced math than one you learned in your primary school.

Look, I understand why you're scared of math. Many people are. I was deeply frustrated with it since my earliest age as I never had someone to tell me what it really is. In school, I got no opportunity to look at math in the pure sense of it, but as something which is necessary to pass. Math was always a burden to me and struggle continued in higher grades and later in secondary school. I had to get private classes because I learned nothing at school. And all my teachers were confused because I was a quick learner and I understood all of explained concepts pretty well. They were shocked when I told them my grades; mostly Fs and Ds. Later on, I realized there were too problems with my math problem; lack of practice and fear. I think these two are probably most responsible contributors for fear for math in average population.

So, better ask yourself this question - what stops me from learning math? Have I really tried hard to understand it? Math builds upon itself a lot, and if you try to learn one concepts before you learn base of it (for example, you want to learn trigonometry without understanding basic geometry), you will fail miserably. That's what happened to me, and that's what happened to millions of people around the world, and that's very sad. My first advice for you is to start to program right now and see if you like it. Then, question where your stance on mathematics comes from. It may be the boring professor from school who forced you to learn long theorems. Or traumas you had when you were given an integral to solve. My final answer is therefore, you definitely need basic math (adding, subtracting, multiplying and division, as well as understanding percentage and basic number theory) to even start to program and you need advanced math if your field requires it. But don't look at it purely as a need. Better look at it as an opportunity to see naked beauty of the world around you in the purest possible terms. Math you can learn today on the Internet was once in history enough for PhD in math. Isn't it amazing?


I hope you enjoyed this article. If you did, upvote and follow me for more content like this, and comment if you have questions or something to add. Cheers! 🍻
@originalworks