Olga Khazan writes in The Atlantic that learning to program involves a lot of Googling, logic, and trial-and-error—but almost nothing beyond fourth-grade arithmetic.
Victoria Fine explains how she taught herself how to code despite hating math. Her secret? Lots and lots of Googling. "Like any good Google query, a successful answer depended on asking the right question. “How do I make a website red” was not nearly as successful a question as “CSS color values HEX red” combined with “CSS background color.” I spent a lot of time learning to Google like a pro. I carefully learned the vocabulary of HTML so I knew what I was talking about when I asked the Internet for answers."
According to Khazan while it’s true that some types of code look a little like equations, you don’t really have to solve them, just know where they go and what they do. "In most cases you can see that the hard maths (the physical and geometry) is either done by a computer or has been done by someone else. While the calculations do happen and are essential to the successful running of the program, the programmer does not need to know how they are done."
Khazan says that in order to figure out what your program should say, you’re going to need some basic logic skills and you’ll need to be skilled at copying and pasting things from online repositories and tweaking them slightly. "But humanities majors, fresh off writing reams of term papers, are probably more talented at that than math majors are."
(Score: 3, Insightful) by bradley13 on Thursday September 03 2015, @11:53AM
Of course, real programmers never write boolean logic statements (e.g., in a IF), where they need to understand the commutativity, associativity and distributivity of the operators. Nor would real programmers ever write SQL queries, where you have similar properties for the relational operators. Nope, don't need to know any math for that.
I have never seen any programmers wonder why their computed integer values are incorrect, when they exceed 231-1. Nor wonder why they get strange rounding errors when trying to calculate currency amounts using floats. Nope, never happens.
Matrix transformations come up a lot in path-finding. Geometry comes up in games, or any program that needs to do some sort of physics. Working with large amounts of data, you had better understand computational complexity.
Sure, none of that is higher mathematics, but programmers use math like this constantly.
Everyone is somebody else's weirdo.
(Score: 0) by Anonymous Coward on Thursday September 03 2015, @11:58AM
That depends. Are you going to be some copy-pasting loser web 'programmer', or a programmer who actually understands what they're doing? Lots of people are apparently content being the former.
(Score: 1, Insightful) by Anonymous Coward on Thursday September 03 2015, @02:56PM
I do not think that word means what you think it means. Somehow formal education keeps doing Computer Scientists a disservice in equivocating math and logic. Math is one language of logic. Programming is another. Syllogism is yet another. You need to be impressively, shockingly good at logic to even have a chance at being a decent programmer. The same skill is necessary in mathematics, but that does not mean that programming is math. The only time programming is math is when a pure mathematician from 1850 could understand it without help. For all other instances, it is applied logic. And that is a much more powerful personal trait than "being good at math".
(Score: 0) by Anonymous Coward on Friday September 04 2015, @02:51PM
You may think whatever you wish, but mathematics is really the megathing that contains (formal) logic as a subfield, not the other way around. Moreover, while you need a language to express mathematics, mathematics itself is not a language in any traditional sense(*). Whether Gauss could understand some subfield of that "without help" is just as relevant as whether Hippocrates would be fluent with modern medicine.
Where you are right, though, is that programming involves hell of a lot more than math. Abstract mathematics couldn't care less how you name your variables but your cow-orker does.
*) You could describe it as a some sort of divine language of universe but that pretty much underlines the point.