4 ms·
Perhaps the problem is that there's no good real-world equivalent of a "monoid" that basically everybody is familiar with. Most people are inherently familiar
by Pacabel 13y ago
Perhaps the problem is that there's no good real-world equivalent of a "monoid" that basically everybody is familiar with.
Most people are inherently familiar with the concept of a "container", in the sense of something that holds other things, regardless of whether it's a physical container or a data structure.
"Iterator" might not be as clear as "container", but at least most people are familiar with the concept of doing something repeatedly, whether it's some physical action or executing some chunk of source code.
"Monoid" just isn't like that. It may be concrete when constrained to the context of mathematics or programming, but it's quite meaningless outside of those very specific contexts.
- voyou 13y ago"the problem is that there's no good real-world equivalent of a "monoid" that basically everybody is familiar with." But that isn't really true. Addition and multiplication are both real-world examples of monoids that everyone is familiar with (obviously, these aren't physical things, but I don't see why that's relevant).
- voyou 13y agoJust realised I may have missed your point; anyway, you're right that "monoid" is harder to find an easily-understood counterpart for than "container". There are examples of monoids which everyone is probably familiar with, but we don't usually abstract from those everyday examples; whereas as well as there being everyday examples of containers (boxes, bags), we are familiar with abstracting away from those examples in everyday life to come up with the general concept of container.