3 ms·
You don’t have to know category theory to use Haskell. You have to learn some basic concepts like monads, but complaining about that is like complaining “I don’
by centimeter 6y ago
You don’t have to know category theory to use Haskell. You have to learn some basic concepts like monads, but complaining about that is like complaining “I don’t want to use Java because then I’d have to learn what an object is”.
- g_delgado14 6y agoI disagree that objects and monads are the same level of building block in the respective paradigms. Objects <> Java and functions <> Haskell might be a better comparison. Not to mention that there's already a person's intuition about what an "object" might be before they even learn programming. But there's no real-world analog to what a Monad is. So, yes, you do get into the situation where a programmer will say, "what? I didn't sign up for this" when being told to learn Monads to use Haskell.
- centimeter 6y agoThere’s also no real-world analog for a For-loop, but it’s still not a credible complaint to avoid learning C. Also, just because java objects are called “objects” and not some other word with less colloquial meaning doesn’t mean that they actually map well to real-world objects. Fully understanding the true semantics of Java objects is at least 100x as complicated as fully understanding the true semantics of monads. The only thing it’s easier to do with Java objects is to delude yourself into thinking you might understand them, because they have a familiar name.
- jheriko 6y agothats not true at all, repetition is natural. map is also quite natural, but isn't it telling that the way a human will do this on paper is by reptition of the same task in sequence... i.e. a for loop. > The only thing it’s easier to do with Java objects is to delude yourself into thinking you might understand them, because they have a familiar name. i'm not sure why you consider this 'delusion'? that familiarity of name and concept is precisely why its so easy to learn.
- codygman 6y ago> map is also quite natural, but isn't it telling that the way a human will do this on paper is by reptition of the same task in sequence... i.e. a for loop. Would they?
- jheriko 6y agothis is not true. objects and classes are a fundamental concepts people are familiar with from real-life experiences. 'teaching' them is barely necessary at all, its more a case of assigning labels and some specificity to already familiar concepts. monads are not like this at all. they are not a basic concept. they are not involved in day-to-day life from a very early age.
- kd0amg 6y ago> objects and classes are a fundamental concepts people are familiar with from real-life experiences. The idea that actions one can perform on real-world items are actually embedded in those items themselves (as opposed to being imposed on them from the external world) is neither universally accepted ontology nor required understanding for day-to-day interaction with them.