I walked out of High School with the equivalent of 2 quarters of calculus (everything up to, but not including, multivariable calculus). I can imagine this is sufficient for pretty much all software development... unless one is specifically writing a math library.
Name:
Anonymous2012-01-05 0:10
>>1
-Learn logic. If you're a retard, don't write code.
-Learn basic arithmetic. You're set.
I'm way too bad at math and I know it. I `studied' math at high school but never really cared about it. I managed to pass the math courses at college with common sense and acquired programmatic thinking. I struggle with basic algebra that I could've solved in high school with ease. This is not a good thing and I recognize that, but I haven't found a way to brush up my math skills without that ``millions of pages of proofs'' nonsense.
I'm still a better programmer than any of those `mathematician-turned-programmer' types, and I know that too.
3. Non-logical programmers: They know a bit of syntax and just enough about Javascript and PHP to dump other people's code into WordPress themes and sell them on Theme Forrest. They count ``HTML5/CSS3'' among their ``skill set''. Some of them develop iPhone apps. They all use Macs, Twitter, Githib and lurk Hacker News. The truly 1337 among them fire up the terminal and eventually graduate from TextMate to vim where they spend most of their time copypasting snippets into their .vimrc to configure it ``the way Steve Jobs would have intended'', then they push it to Github at /[user]/dotfiles/.
2. Non-mathematical programmers: Programming to them means knowing the syntax and how to shit it out to do mundane tasks in the least efficient way possible. They could never program anything themselves that anybody would ever want to use, but they get hired in droves to churn out code for large scale application. If you ever wonder why most desktop software is shit, it's because of these guys. They're a dime a dozen, especially here on /prog/.
1. Mathematical programmers: Programming to them is just a small part of the big picture that is computer science. They're algorithm designers who program as a form of expression. They understand abstraction and complexity. They think of lists and arrays as vectors, and of nested loops as matrix operations, and use that knowledge to implement techniques that result in simple, clean, and fast code. They use Big-O and cost function analysis. They work on artificial intelligence, graphics, game physics, and machine learning. They go to top schools and have top companies popping champagne bottles for them when they graduate. Once hired, the have other top companies trying to poach them constantly. They're indispensable and the future needs more of them.
So yeah, learn some fucking math and stop being a codemonkey.
Name:
Anonymous2012-01-05 19:09
>>16
You forgot Engineer programmers: The ones that get shit done and get by with a little math and a lot of common sense. What did you think Linus Torvalds actually knows shit about math?
Name:
Anonymous2012-01-05 19:22
>>14 Discrete Math isn't really math Then what is it?
Name:
Anonymous2012-01-05 19:24
>>16
That's strange. According to you definition I'm a `mathematical programmer' (apart from the champagne and stuff) and I don't know much anything about math.
Name:
Anonymous2012-01-05 19:28
The jews are after me.
Name:
Anonymous2012-01-05 19:35
>>19 I'm a `mathematical programmer' I don't know much anything about math.
Logical fallacy. Welcome to tier-3.
Name:
Anonymous2012-01-05 19:48
>>21 Logical fallacy. Welcome to tier-3.
Apparently your understanding of `logic' is lacking. If the definition in >>16 applies to me, which it does, then, by definition, I'm a `mathematical programmer' in the sense of post >>16. I don't think it makes much sense. >>16 is most likely some asshole mathematician who happens to also be a decent programmer, and erroneously attributes this to mathematics. Nothing in the description of `mathematical programmers' requires knowing any real mathematics.
Name:
Anonymous2012-01-05 19:59
To what level of math should I learn to be a good programmer?
None at all.
Math is more about religious worshiping "Infinity". You can see math as a final evolution of Judaism. The most pure form of religion.
Programming is about making use of physical process, called "computation".
Can you imagine a “physical process” whose outcome could depend on whether there’s a set larger than the set of integers but smaller than the set of real numbers? If so, what would it look like? -- Scott Aaronson
>>23
I can't tell if you're trolling or just plain dumb.
Name:
Anonymous2012-01-05 20:56
>>24
The primary concern of mathematics has been to use the infinite to elucidate this world. The primary concern of mathematical logic has been to explore the nature of infinity in order to classify and explain its mathematical applications. -- Richard Mansfield and Galen Weitkamp, Recursive Aspects of Descriptive Set Theory
Mathematics is a fanaticism of mechanistic objectivity and objectification. Genuinely "subjective" agents are not acknowledged in hard science--not because they aren't palpable, but because there is an agreement, unstated or stated, not to mention them. -- Henry Flynt and Catherine C. Hennix
The fallacy in Objectivism is its belief that absolute knowledge and final Truth are attainable through reason, and therefore that there are absolutes of right and wrong knowledge and of moral and immoral thought and action. -- Michael Shermer
Name:
Anonymous2012-01-05 20:56
>>22
If you don't know math, that definition of mathematical programmer can't possibly apply to you. If you say you work on artificial intelligence and game physics, you're lying. What non-mathematical AI and physics algorithms do you know? How do you design and implement a cost function to improve accuracy and efficiency without applying calculus and linear algebra?
nested loops as matrix operations
Wait, what kind of Jewish magic do I have to perform to see nested loops as matrix operations?
Name:
Anonymous2012-01-05 21:02
>>26 How do you design and implement a cost function to improve accuracy and efficiency without applying calculus and linear algebra?
He can use monte-carlo to remove concept of "infinitesimals" and something like rational trigonometry as a foundation for rotations.
Name:
Anonymous2012-01-05 22:39
i love the finitist guy (except for the anti-jew stuff (if that is even the same guy)). he has some interesting views that i hadn't even considered, until i came to /prog/
a thought: weren't mathematicians against infinity at first? wasn't it considered nonsense until it was shown to have some practical (practical, at least, for figuring out other math things) purposes? if use of infinity is practical, why shouldn't we use it? when i do calculus, or whatever, i'm not really worshiping infinity, i'm solving a problem using a math tool.
If you look at the pseudo code for that, and the pseudo code for matrix multiplication, you'll be able to see the correspondence.
Anyways, you should all learn some math. It can be fun if you give it a chance and if you are willing to put the work in, and you never know when it could come in handy. A lot of you seem to be saying that it is worthless, when it looks like you've never given it a chance. It's type of thing where you can only recognize how useful it is when you are aware of it. But yeah, take a step on the wild side, and pick up a book on number theory, or probability theory, or proofs, or linear algebra, or vector calculus, or graph theory, or algorithms, or computational models. You don't need to take it all on at once, just get a book in one field or two and keep at it for a while. There's a lot of uses for this out there, and they honestly come up a lot more than you might think.