Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's not "different strokes," it's a change of perspective causing massive confusion all 'round. Computer science isn't a knock-off approximation of mathematics, it's a subfield of mathematics. Programming, which is what the post is talking about, is a third thing. The derivative is the inverse of the indefinite interval (and has the same arity), but the function he refers to computes a definite integral which is not the same thing. Etc.

Confusion about this stuff is a sign that you didn't really understand it the first time. Believe me, I've been (am still) there...



There is even more confusion out there. Think of abstract algebraic structures.

Who needs groups? No one. Until one realizes that certain simple equation transformation rules are not based on natural numbers, or real numbers but on groups. Once something like that clicks in your brain, you can suddenly solve weird equations with sets and symmetric differences, or bitstrings and xor's or other pretty akward things which looked really scary earlier.

Who needs rings and semirings? No one, until one realized that a certain algorithm requires a structure... and this structure is a semiring! Thus, if one can prove that two operations and a set form a semiring, you can apply this algorithm without any effort, because it will just work! :)

Or, even more. Who needs the theory of katamorphisms, Anamorphisms and such? No one. Until one realizes how beautiful recursive datastructures are and how easy it is to program them once you understood the idea behind them (Check http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.1... for a nice paper about this)

Who needs integration (besides those numerical people)? No one, until one realizes that any simulation, most iterations and such are discrete intergrations in very, very akward and convoluted algebraic structures.

Ach, I somehow wish I studied math before studying computer science by now.


Regarding where CS stands in relation to math: http://news.ycombinator.com/item?id=690798


Yeah, I tend to say "computer science" when I mean "theoretical computer science." To me there is a clear split between the stuff that's math/logic and the rest of it which I'm happy to lump under the catch-all of engineering (and don't feel comfortable labeling as any sort of science).


I'm not comfortable labeling the concepts behind operating systems, networks, computer architecture and programming languages as either math or engineering.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: