Live data from Hacker News

Abstract algebra for developers and people who hate math

poincare101.blogspot.com

41–50 of 56 posts

Re: Abstract algebra for developers and people who hate math

#41

I added some CSy stuff.

Sorry, but OOP has virtually nothing to do with abstract algebra. Your whole post is about proving that something belongs to a general class and using the properties of a general class, and making such a vague analogy is completely contrary to that.

For a real CS example, see cryptography.

Re: Abstract algebra for developers and people who hate math

#42
Thank you for posting this!

> And, the problem was, mathematics was losing its "connectivity", all these new algebras had little to no connection to each other, and it was very difficult to make progress in a few of these algebras at once.

I went through 6 upper division abstract algebra classes without one professor providing this background. It's quite obvious once I read it, which is what makes it an amazing motivation.

There were some formatting notations that didn't display--mostly superscripts that displayed in-line

Re: Abstract algebra for developers and people who hate math

#45

Nice content! Thanks for putting it in more easy words. If I could give you a suggestion, a better way of showing it could be better. Like some slides, or colors. Something that made more friendly to read. Although the content is good, scanning it do not made me want to read right way. Anyway, thanks!

I'll do that for the next one, glad you enjoyed it!

To confuse the issue further, I very much appreciated the format. I've found it much easier to get a better understanding of things like this when it's well-written text instead of slides. Slides that try to stand alone without supporting text (either spoken or written) tend to present a collection of facts without adequately explaining the concepts behind the facts (or the slides contain way too much text).

Re: Abstract algebra for developers and people who hate math

#46

I added some CSy stuff.

Sorry, but OOP has virtually nothing to do with abstract algebra. Your whole post is about proving that something belongs to a general class and using the properties of a general class, and making such a vague analogy is completely contrary to that. For a real CS example, see cryptography.

I humbly disagree.

Properly-done OOP is all about abstraction and reasoning. You're taking a set of concepts (business concepts, technical concepts, etc) and building a (hopefully) consistent model of how those concepts relate to each other. Included in this model is a deep understanding of the operations that can be performed on the model you've come up with. If you've done a good job about specifying the abstraction, you end up with a system that is easy to reason about. "If I do this, this will happen."

This is, in essence, the same thing you're doing with abstract algebra; you're looking at common behaviours of different systems, and building up a consistent model that works for all of them, including the operations that you can do. The underlying details may be different for vector addition and matrix multiplication, but, using abstract algebra, you can reason about the behaviour in the same way. Good OOP has the same effect.

Re: Abstract algebra for developers and people who hate math

#47
post #9

People who hate math aren't going to be inspired by a collection of axioms and equations. Nor are they likely to be wowed by the examples of matrices and vectors. Some examples from geometry, or permutations, might be more likely to teach the concepts. People who know something about math are going to spot several errors in the presentation. For example, the reals with multiplication don't form a group, since 0 has n…

> People who hate math aren't going to be inspired by a collection of axioms and equations.

So true. My favorite quotation on this subject (admittedly, there aren't that many):

"Many a graduate student has come to grief when they discover, after a decade of being told they were "good at math," that in fact they have no real mathematical talent and are just very good at following directions. Math is not about following directions, it's about making new directions...It would be bad enough if the culture were merely ignorant of mathematics, but what is far worse is that people actually think they do know what math is about - and are apparently under the gross misconception that mathematics is somehow useful to society!...In any case, do you really think kids even want something that is relevant to their daily lives? You think something practical like compound interest is going to get them excited? People enjoy fantasy, and that is just what mathematics can provide - a relief from daily life, an anodyne to the practical workaday world."

  - Paul Lockhart
Also relevenat, by the same author:

"You don't start with definitions, you start with problems. Nobody ever had an idea of a number being "irrational" until Pythagoras attempted to measure the diagnonal of a square and discovered that it could not be represented as a fraction. Definitions make sense when a point is reached in your argument which makes the distinction necessary. To make definitions without motivation is more likely to cause confusion."

Re: Abstract algebra for developers and people who hate math

#48
post #9

People who hate math aren't going to be inspired by a collection of axioms and equations. Nor are they likely to be wowed by the examples of matrices and vectors. Some examples from geometry, or permutations, might be more likely to teach the concepts. People who know something about math are going to spot several errors in the presentation. For example, the reals with multiplication don't form a group, since 0 has n…

> People who hate math aren't going to be inspired by a collection of axioms and equations. So true. My favorite quotation on this subject (admittedly, there aren't that many): "Many a graduate student has come to grief when they discover, after a decade of being told they were "good at math," that in fact they have no real mathematical talent and are just very good at following directions. Math is not about followin…

I love Paul Lockhart's writings...

Re: Abstract algebra for developers and people who hate math

#49
post #42

Thank you for posting this! > And, the problem was, mathematics was losing its "connectivity", all these new algebras had little to no connection to each other, and it was very difficult to make progress in a few of these algebras at once. I went through 6 upper division abstract algebra classes without one professor providing this background. It's quite obvious once I read it, which is what makes it an amazing motiv…

Thanks for the feedback :)

Re: Abstract algebra for developers and people who hate math

#50

I don't hate math but don't quite getting what I can do with this knowledge to develop something new or different from what I would develop without it. Please help with enlightenment?

The thing is, to make any advances in mathematics (since it is such an old subject with large advancements and abstractions already made), you can't really make much progress in math per se, but, it really gives you a much better understanding how things like classes and type systems work, and in general makes you a better programmer.

I will present more applications and such in the next one.

Post reply on HN