Bullshit. You probably can learn "just the parts of math that are necessary", but doing "only" modulo, sets, basic math, logic and the likes is still doing quite a lot of math. And if you're even tapping into graphics programming, there's a hell lot of more in store for you...
Confusing design with algorithms is pretty common for new coders. Someone has already done the work should never be an excuse for you not to look into it deeper and understand it yourself. Heck, you might even find a better and faster way of doing it by examining it.
Design: Change the text color (like the author said)
<p><font color="red">designing in a markup language</font></p>
Requirement: DT_VCENTER must work regardless if DT_SINGLELINE is use or not.
This requires you to calculate the height of the container along with the height of the overall text paragraph and position it such that the Y value of Text is vertically center base on the destination rectangle.
One you can do by using the IDE designer or GUI (or you can be fancy and edit the code-behind). The other, requires you to critically think on how to solve the problem as well as use cases like: What should I do if the user resizes the container ........
I've programmed professionally for the past ~20 years (that means they paid me decent amount of money) and math has always been the backbone for everything I do.
Edit: Typed this on mobile. On desktop now, clarify what I meant.
Math has very little to do with coding, especially at the early stages. In fact, I’m not even sure why people conflate the two. (Maybe it has to do with the fact that both fields are male-dominated.)
Computer sci major here, I've been programming for 35 years. The most complex math I do in business programming is algebra 1 occasionally. Most of the stuff I do is trying to get multiple systems to talk to each other. That doesn't require math, it requires creativity and a lot of patience and research.
Most of the math I do is adding and subtracting and multiplication, like "add 6% to all these prices, but these prices go up 7%". So now I have to figure out how to raise the price on the correct groups of part numbers programmatically using regex.
HOWEVER, my uni required a lot of math, so that was a PITA, and I use none of it.
It was a complete waste of my time. I don't need to make another 3d gaming engine, nor am I making a CAD program, nor am I programming orbital trajectories, there are plenty of good ones out there.
If you're doing graphics or engineering that can involve a lot of math and writing your own code to solve math problems.
OTOH there are several packages (some free) to do complex equations (Mathlab).
I haven't read the article, so I'm responding to the title, not it's actual content. While it is true that one can learn to code without being good at math, every coder uses math and the discipline associated with it. Modeling real world objects and abstract concepts eventually involves describing them with numbers.
And I'm open to the idea of programming vs math. Still, lol.
Brains are funny. I've met ppl who are rain man in some ways ( counting flocks of birds instantly or counting candy thrown across a table) who revile all math. I've met carpenters who understand the most ridiculous geometry for constructing angles and trig shortcuts who basically dropped out of school because math classes.
Math and logic are universal. To say that some huge proportion of humans are simply incapable of understanding universal law is preposterous.
It really depends on what you are doing. Systems where you need as much performance as possible? Yes, math really helps. A program that can't fail but can be slow? No need for math, just a shit ton of boundary checks and unit tests.
If you look at the archives for Project Euler you will find ten year old programs that had to be written with care. Now people come along and solve the problems using some Python library and are so proud when it only takes a few seconds for the program to run. I can understand not wanting to write your own library to calculate prime numbers, but there is a difference in quality between knowing how to use a library versus being able to write a library.
Fucking lel. Programming languages are literally math. You might not have to know algebra to code or whatever, but it's the difference between using a phrasebook and being fluent.
To me, it seems like there are abstract reasoning capabilities, visual thought processes, etc, that make one naturally talented at mathematics, programming, engineering, and certain aspects of music and arts as well. If you have that type of brain, you'll have good potential to become competent in those fields. But it may be the case that some folks just don't have this capability, or that you have to have some exposure when you are young in order to develop it. These people are still drawn to programming out of fear of being unemployable, and for status or trendiness, good wages, etc. Or they are feminists trying to prove that they can do anything men can do. These folks in general are going to end up calling themselves programmers even though they are just copying and pasting things together. Not that this isn't a valid set of expertise or an art in and of itself. But they aren't programmers and it's virtually guaranteed that the media won't make any attempt to distinguish between these and actual programmers.
Group theory is important to cryptography and stochastic problems, and understanding overflow and underflow issues (one of the largest classes of software vulnerability).
Combinatorics and probability are critical for making a process efficient. Computability teaches you that infinite loops are a constant danger.
Linear algebra has a very clear purpose in graphics programming. Geometry, as a high school level subject, is a foundation for other branches of mathematics.
So if someone wrote an article you don't have to be able to read to be a CEO it would probably be about as true and it would at least generate outrage. Programming is the most advanced technology that man has and there is a fairly compelling case to be made that its is going to top the list for as long as the list exists. Societally acceptable deprecation is not okay, nor is innumeracy. People that don't "know math" are ignorant, if your institutions are run by such people then you are a superstitious cargo cultist.
35 comments
22 u/un_salamandre 03 Sep 2015 11:10
Bullshit. You probably can learn "just the parts of math that are necessary", but doing "only" modulo, sets, basic math, logic and the likes is still doing quite a lot of math. And if you're even tapping into graphics programming, there's a hell lot of more in store for you...
1 u/leixiaotie 04 Sep 2015 15:03
Exactly my reaction. Try to do sorting, aggregate / set functions and performance tune up database operations, you will meet with a wall named math.
0 u/un_salamandre 05 Sep 2015 08:56
Haha, exactly!
13 u/duannguyen 03 Sep 2015 11:16
Confusing design with algorithms is pretty common for new coders. Someone has already done the work should never be an excuse for you not to look into it deeper and understand it yourself. Heck, you might even find a better and faster way of doing it by examining it.
Design: Change the text color (like the author said)
<p><font color="red">designing in a markup language</font></p>Algorithms: Write your own DrawText function or extended it.
Requirement: DT_VCENTER must work regardless if DT_SINGLELINE is use or not.
This requires you to calculate the height of the container along with the height of the overall text paragraph and position it such that the Y value of Text is vertically center base on the destination rectangle.
One you can do by using the IDE designer or GUI (or you can be fancy and edit the code-behind). The other, requires you to critically think on how to solve the problem as well as use cases like: What should I do if the user resizes the container ........
I've programmed professionally for the past ~20 years (that means they paid me decent amount of money) and math has always been the backbone for everything I do.
Edit: Typed this on mobile. On desktop now, clarify what I meant.
1 u/Atarian 03 Sep 2015 12:49
Who would downvoat an insightful comment like this?
2 u/duannguyen 03 Sep 2015 13:12
Hahah, looking at this post seems everyone gets -1 by default. :P
0 u/Futt [OP] 03 Sep 2015 16:04
Been noticing that in a lot of subs lately; posts and comments getting one or two downvotes almost immediately.
2 u/crankypants15 04 Sep 2015 23:27
People bad at math.
9 u/Caboose_Calloway 03 Sep 2015 10:44
Ok.
7 u/Massmoment 03 Sep 2015 11:18
Algorithm development does frequently require a good understanding of math.
4 u/Procinct 03 Sep 2015 15:19
I'm doing algorithm analysis in CS at the moment. I would go as far to say it requires an advanced understanding of math.
3 u/Massmoment 03 Sep 2015 16:47
Yeah, we get 4 semesters of advanced math and 1 semester of statistics in compsci. That's not without purpose.
6 u/Dadosaurus 03 Sep 2015 11:25
If you ever want to make a video game, you're going to need some trig.
5 u/crankypants15 03 Sep 2015 11:52
Computer sci major here, I've been programming for 35 years. The most complex math I do in business programming is algebra 1 occasionally. Most of the stuff I do is trying to get multiple systems to talk to each other. That doesn't require math, it requires creativity and a lot of patience and research. Most of the math I do is adding and subtracting and multiplication, like "add 6% to all these prices, but these prices go up 7%". So now I have to figure out how to raise the price on the correct groups of part numbers programmatically using regex.
HOWEVER, my uni required a lot of math, so that was a PITA, and I use none of it. It was a complete waste of my time. I don't need to make another 3d gaming engine, nor am I making a CAD program, nor am I programming orbital trajectories, there are plenty of good ones out there.
If you're doing graphics or engineering that can involve a lot of math and writing your own code to solve math problems. OTOH there are several packages (some free) to do complex equations (Mathlab).
2 u/Tecktonik 03 Sep 2015 19:17
Regex is far more complicated than Algebra I.
0 u/crankypants15 04 Sep 2015 15:31
The regexes I work with are pretty simple. For example, I'm just raising the price on part numbers that look like /MH\d{3,4}PT(A|B)/.
So yes, there is a learning curve with regex, just like with Algebra I, but I wouldn't say it's that bad.
0 u/Girthcontrol 11 Sep 2015 13:32
Especially when parsing XML ;)
3 u/effusive_ermine 03 Sep 2015 10:58
I haven't read the article, so I'm responding to the title, not it's actual content. While it is true that one can learn to code without being good at math, every coder uses math and the discipline associated with it. Modeling real world objects and abstract concepts eventually involves describing them with numbers.
5 u/powny 03 Sep 2015 11:05
The article is about coding, as in coding a website and obviously that is different from programming.
2 u/grlldcheese 03 Sep 2015 12:47
Lol.
And I'm open to the idea of programming vs math. Still, lol.
Brains are funny. I've met ppl who are rain man in some ways ( counting flocks of birds instantly or counting candy thrown across a table) who revile all math. I've met carpenters who understand the most ridiculous geometry for constructing angles and trig shortcuts who basically dropped out of school because math classes.
Math and logic are universal. To say that some huge proportion of humans are simply incapable of understanding universal law is preposterous.
2 u/bisaya 03 Sep 2015 12:59
But it helps if you are
1 u/JohnQCitizen 03 Sep 2015 16:15
It really depends on what you are doing. Systems where you need as much performance as possible? Yes, math really helps. A program that can't fail but can be slow? No need for math, just a shit ton of boundary checks and unit tests.
1 u/Tecktonik 03 Sep 2015 19:33
If you look at the archives for Project Euler you will find ten year old programs that had to be written with care. Now people come along and solve the problems using some Python library and are so proud when it only takes a few seconds for the program to run. I can understand not wanting to write your own library to calculate prime numbers, but there is a difference in quality between knowing how to use a library versus being able to write a library.
1 u/Endfall 05 Sep 2015 05:51
Fucking lel. Programming languages are literally math. You might not have to know algebra to code or whatever, but it's the difference between using a phrasebook and being fluent.
1 u/onegin 19 Sep 2015 11:33
To me, it seems like there are abstract reasoning capabilities, visual thought processes, etc, that make one naturally talented at mathematics, programming, engineering, and certain aspects of music and arts as well. If you have that type of brain, you'll have good potential to become competent in those fields. But it may be the case that some folks just don't have this capability, or that you have to have some exposure when you are young in order to develop it. These people are still drawn to programming out of fear of being unemployable, and for status or trendiness, good wages, etc. Or they are feminists trying to prove that they can do anything men can do. These folks in general are going to end up calling themselves programmers even though they are just copying and pasting things together. Not that this isn't a valid set of expertise or an art in and of itself. But they aren't programmers and it's virtually guaranteed that the media won't make any attempt to distinguish between these and actual programmers.
0 u/dracostheblack 03 Sep 2015 15:51
I think this is true, but boolean logic/algebra is crucial to solving problems and writing code.
0 u/Tecktonik 03 Sep 2015 19:26
Group theory is important to cryptography and stochastic problems, and understanding overflow and underflow issues (one of the largest classes of software vulnerability).
Combinatorics and probability are critical for making a process efficient. Computability teaches you that infinite loops are a constant danger.
Linear algebra has a very clear purpose in graphics programming. Geometry, as a high school level subject, is a foundation for other branches of mathematics.
-1 u/nicky_haflinger 04 Sep 2015 03:55
So if someone wrote an article you don't have to be able to read to be a CEO it would probably be about as true and it would at least generate outrage. Programming is the most advanced technology that man has and there is a fairly compelling case to be made that its is going to top the list for as long as the list exists. Societally acceptable deprecation is not okay, nor is innumeracy. People that don't "know math" are ignorant, if your institutions are run by such people then you are a superstitious cargo cultist.