loading...

Why programmers should seek after mathematics?

hanpari profile image Pavel Morava Updated on ・2 min read

This is going to be very short post about mathematics and programming. For some reason, many coders do believe mathematics is a discipline completely unrelated to programming. Still, they will mention Turing machine anytime when they want to "scientifically" prove that all programming languages are equal.

Well, a big surprise. Alan Turing was a mathematician as well as Alonzo Church who gave the birth to lambda calculus, independent computing system, which approach the same problem from different angle and became the foundation of functional languages.

So, I don't know whether all programming languages are all equal, but all of them seem to emerge from abstract mathematical foundation.

Several times in my programming journey I have encountered "coders" who claimed loudly and shamelessly that mathematics has nothing to do with their jobs or hobby. Obviously, I am not the only one who found this proclamation ridiculous as the internet is full of memes, mocking those extravagant experts. Just google it.

math

Why to bother, then?

Honestly, I have no idea. I got utterly shocked when my post on programming subreddit dealing with Group theory was dismissed as irrelevant and unsubstantial for this thread.

Say what?

Just check for yourself how nicely and in layman's term they explained the stuff at Socratica channel.

For God sake, why do you think they made it in a such approachable manner? To impress mathematicians? Or to explain the concept to masses of programmers in need?

Whatever, today I have stumbled upon great post from Paul Chernoch who explained properly why mathematics was relevant in his personal career.

And here we go again. Instead of simple upvoting and sharing, I decided to throw this one on reddit/r/programming.

And guess what?

I am getting downvoted, even commented that the article actually doesn't support my case properly.

Seriously, I feel like Alice in Wonderland. No more mathematical missionary in pagan islands I promise.

No algebra?

To add an optimistic conclusion for kind readers who followed me. As my pointless struggle has proven, the vast majority of programmers do not care for mathematics, meaning that if you avoid doing the same mistake, you can obtain competitive advantage in your career. Not only you can get more interesting problems to solve, but salaries are higher there, because obviously, not all programmers are clever enough to learn mathematics willingly.

Coincidentally, reddit doesn't need to present only the ugly face of internet. This is one brings a lot of useful recommendations for useful and approachable books on mathematics. Check it out.

Posted on Mar 8 by:

hanpari profile

Pavel Morava

@hanpari

Majored in environmental technologies. Wrote a few books long time ago. Plastic processing engineer for over 15 years. Programming for over 30 years.

Discussion

markdown guide
 

I think it depends on the area, of course math is involved in everything, but the fact that you talk about "math" suggest it depends; to some devs calculus are vital, to other isn't, to some geometry is invaluable, for other topology or linear algebra, it depends in some areas just arithmetic is enough. Of course in depends on who you ask and what (s)he does and what you consider math, is arithmetic math in this discussion? is how to solve differential equations?, number theory? or just applied math?.

Of course if arithmetic is "math" in this discussion of course, even to buy in the market you need to add and subtract, every programmer needs differential geometry? I don't think so. Every human would benefit from learning math? of course, everyone must or should, maybe not.

I also don't think the argument of computers are based in math is valid, we don't need to know advanced electronics nor quantum mechanics and those make every piece of HW we use. They give a better understanding and are "useful", I think so, but what knowledge doesn't.

 

I wrote this particular article after being told that mathematics doesn't belong to the programming subreddit.

I know people do not need mathematics on daily basis, but in the same vein I do not program in assembly at all, but some do. The same goes for mathematics. It is not like I suggest that everyone should learn mathematics or assembly.

 

I understand, I guess with math is tough because is in everything and programming is also very broad. Does protein folding belongs to programming?, well if the project is about it, it does; does generic replication or physics? well, sometimes yes, sometimes no; hard to decide what does or doesn't belong, said that, "friendly" is not the first thing that pop my mind with Reddit :)

Actually, Python subreddit is quite ok. Programming subreddit not so much. Fsharp subreddit is almost decent yet empty place. But you are right, dev.to feels much friendlier.

 

Well, encryption is not math, it's a wizard sealing strings with magical phrases sending them to another wizard who magically unseals them. Fun aside, I can't imagine any software where math is not involved at all and I regret every move in the past I did to avoid to take the time to deal with it. It will come back on you like a boomerang, especially when you aim to reach the next level.

 

Thank you. Similar comments restore my faith in humanity. 🀣

Judging from many other comments I would think that programmers lack basic knowledge of fundamental logic. πŸ˜‰

 

Funnily enough I came across this today: phys.org/news/2020-03-math-person-...

From my own experience as a polyglot, I would say that learning a computer language is not that different from learning a new human language, it's all about semantics and syntax. On the other hand, without mathematical thinking and knowledge, a developer will hit a glass ceiling fairly quickly imho

 

Well, not only maths, even foreign languages are necessary! This is going to be problem. I consider myself bilingual with basic knowledge of three more languages. Thank you for commenting.

 

Maths are everywhere in Programming (see discrete maths and linear algebra) people just choose to avoid them.

 
 

I agree with you. Mathematics helps a lot as a programmer especially for scaling and incrementing things.