The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
if i'm right about this, then why didn't the academics just say so without all that ridiculous math?
Because that's what academics do, given that it's all they know. I've solved a few really complex problems that the academicians were totally unable to. In one case, I took a multi-spectral image analysis that took minutes to run on a single video frame, realized all they were doing was an absurdly complicated lookup algorithm, and turned it into a real time mapping, all within the vertical refresh period of the video stream.
I never took CS, because i never went to college, but i do remember reading that academics typically treat math as purely "functional" and stateless, and leave things like lookup tables to practice rather than theory.
I hate to defend them, but this might be such a case. I initially ran into a similar issue implementing finite state machines from something theoretical.
But yeah I don't necessarily trust them either. Real world experience will kill pure theory, but having both is really the key to writing great code, I think, at least when it's complicated. Being able to subject your code to a rigorous mathematical treatment seems to have its advantages in terms of behavior diagramming and testing.
When I was growin' up, I was the smartest kid I knew. Maybe that was just because I didn't know that many kids. All I know is now I feel the opposite.
A mathematician dealing with an algorithmic problem will be as suited as a software developer dealing with a mathematical problem. Horses for courses. It's like the old story where the old guy meets a neurosurgeon and asks him to take a look at his sore back.
When I was taking CS, the mandated math courses were second year calculus and linear algebra. I haven't used either since. A complete waste of time in my opinion, unless you're a numerical analysis weenie or something.
What I found truly useful, and have used many times since, were combinatorics and graph theory. And abstract algebra to some degree.
It is just a matter of your problem space. I have used both calculus and linear algebra extensively over the years. I probably know those better now than when I studied them in school. After writing a few template-based vector and matrix classes, I definitely know the LA better now.
"They have a consciousness, they have a life, they have a soul! Damn you! Let the rabbits wear glasses! Save our brothers! Can I get an amen?"