Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
What's the story with these ads on Slashdot? Check out our new blog post to find out. ×

Comment Re: And we care because...why? (Score 1) 171

Without exception, the workplaces with women were more "brittle" in terms of having to watch what you said, no off-colour jokes, no crude humour.

Woah, you had to show basic consideration to other people?! You can't be as crass as tactless as you'd like?

I can't imagine how horrible it must have been to be forced to act like a civilized human being 8-hours a day. The next thing you know, they'll expect you to bathe regularly and wash your hands after relieving yourself. Pure tyranny!

Comment Re: Programming (Score 1) 573

Understanding the equations and implementing them, and even understanding that integration is what you need are the parts that math helps you with

The point is that you don't have to understand them to implement them. You actually need to know very little. Yes, it's helpful, but it's far from essential. That's the point. No one is arguing that you're better-off knowing nothing about math or physics, only that it's not that important for developers even when it superficially appears that that understanding is necessary.

Now we're having a completely different discussion...

How do you make characters move intuitively? By making them inhabit a world that follows physical laws similar to our own.

If I remember correctly, in Super Mario you could move left and right while in the air. That is pretty obviously outside the physical laws of our universe. They did this to give the player more control over their jumps. It feels intuitive, even though it's completely different from the laws of the universe we inhabit.

How do you make sure that a character follows a realistic, predictable, intuitive parabola through the air when they jump?

By abandoning Newton and developing a system that works well for the game. Give it a try. Write a simple side-scroller that accurately reflects the physics of the natural world. You'll be amazed at how terrible it plays. I did a quick search, and found a number of discussions that seem to support this. I also found a few breakdowns that may interest you: Sonic Physics, Super Mario Galaxy Demystified, Mario Gravity, SMB Physics.

That second link has a nice quote: "Obviously, real world physics have a place in today's games. However, they take a backseat to psychology when it comes to making real world gameplay"

Perhaps we can put this issue to rest.

Comment Re: Programming (Score 1) 573

some physics knowledge is absolutely necessary unless you're just leveraging other people's work the whole time

It shouldn't be that surprising, as you're using the work of physicists. The implementation is just details after that. You don't need to understand it, all you need are the equations. There are already well-established methods for integration, so you don't need to invent that either, just implement one.

Here's an easier example: If I asked you to write a t-test function, you'd need to nothing more than look up the equation and implement it. For the parts you don't understand, you can look them up and do the same as well (like the sample mean and the standard deviation). You wouldn't need to know the first thing about statistics. All that work has been done for you.

Mario Brothers had a fairly realistic implementation of gravity, friction, and acceleration

You're over complicating that particular problem. All you need there is common experience. When someone jumps, they go up for a bit and then come down. You slide on slippery things. I'll bet a nickle that the developers of Mario Brothers didn't concern themselves with physical accuracy, but how each action felt intuitively.

Comment Re:Interesting (Score 1) 573

Sure there is.

A programmer writes computer programs. This is the easy part.

A computer scientist is a mathematician specializing in computer science. (Though there are quite a few people with CS degrees who do not fit that description. That's not their fault, but that of the institution that issued that credential.)

A software engineer is just a programmer with discipline envy.

Comment Re: Programming (Score 1) 573

This is a tree, but you don't need to understand anything about graph theory to implement this.

That's true for quite a bit. You don't need to have any understanding of the why, just a basic understanding of when {thing} should be used. Implementation is typically trivial, so just discovering that {thing} would be a good fit for your problem (thanks to google) you can get away with knowing even less.

Before you get the wrong idea, I think a strong mathematics background is incredibly helpful. (With a better understanding, there are times when you can go "I can guarantee x, so don't need to account for y so I can simplify this to ..." and net a boost in performance and some simpler code.) Though it's certainly not essential for an absurd majority of developers. Out side a few domains, the hard part is already done and printed in every textbook.

Comment Re: Programming (Score 3, Interesting) 573

I've done quite a bit of 3D graphics work, and I strongly disagree. You need very little. You say "Linear algebra (matrices) and trig" but you don't need much beyond what matrix operations to apply to achieve some goal (you need to actually understand very little, and far less if you use a matrix library) and soa cah toa on the trig side. Just about every major problem you'd encounter has a near standard solution.

Calculus and differential equations are need for doing simulations of physical processes

This is a bit outside my experience, as all I've done there is a 3D physics engine for a game. Even then, I suspect all you need to know are the equations and a few well-understood approaches to integration, actually understanding the math (or the physics) doesn't seem necessary. (Though I'll admit that it is helpful.)

You can be an excellent programmer without strong math skills, even in some areas where a solid understanding of mathematics would seem essential. I'd even argue against the need for a strong background in logic. If Slashdot is any indication, most developers don't understand even basic logic. They've simply confused their rudimentary understanding of Boolean algebra with a complete understanding of formal logic.

This isn't to slight developers, on the contrary. It's art, after all, not engineering. Be proud that you've mastered a skillful discipline.

Comment Re:I don't see anything different. (Score 1) 131

Believe it or not, important decisions even in a corporate environment are often based on emotion or "gut instinct" and not on hard-data.

We're not talking about some silly upper-management parody, but highly intelligent people who know better.

People are people, after all, not perfectly rational beings.

Every successful person has had failures but repeated failure is no guarantee of eventual success.