3 ms·
Keep in mind that writing something like this is not actually going to be perceived as helpful to most people who may have difficulty with Haskell. Consider a c
by paulrpotts 12y ago
Keep in mind that writing something like this is not actually going to be perceived as helpful to most people who may have difficulty with Haskell. Consider a couple of possibilities.
First, you may be unusually quick, gifted, clever -- whatever you might want to call it. In this case, the new concepts in functional programming might come easy for you. That's great, but to people for whom they don't come so easily, this could easily be considered discouraging, or else bragging.
Second, consider that maybe you haven't advanced as far in learning Haskell as you think you have. In my estimation Haskell can take you up an abstraction ramp, that has no clear and obvious "end." As a research language, higher up that curve is some really mind-blowing stuff. So unless you're SPJ or beyond, I wouldn't be quick to claim that Haskell isn't "unusually hard to learn."
Third, you may be a stage in your life where you can put a lot of free time into learning, but recognize that not everyone is there. In my twenties, I worked much more than full time, and in my spare time worked on yet more programming, teaching myself other languages and environments. Really in retrospect it's fortunate I didn't damage my physical or mental health more than I did. But not everyone is in that boat now. In particular people who are older and have "work/life balance," who are professionals in some form of software development, may find that their employment doesn't offer them much in the way of opportunities to learn another language, and the life part of that work/life balance doesn't allow much time to do so.
Me, I'm somewhere partway up that ramp and proud of how far I've come (I feel like I can use at least simple monads now) but still very aware that there is a lot I don't fully grok (currently trying to get my mind around arrows). And I agree, I completely recommend it, but just maybe don't be so glib to claim it is not hard.
- wyager 12y ago>Keep in mind that writing something like this is not actually going to be perceived as helpful to most people who may have difficulty with Haskell No, but hopefully it well help people who have yet to learn Haskell that not everyone thinks it's particularly difficult. I'm not interested in convincing the people who've tried and given up on it. >That's great, but to people for whom they don't come so easily, this could easily be considered discouraging, or else bragging. So what do you propose? That I pretend it's really hard for me, even though it's not? What effect do you think that's going to have? >So unless you're SPJ or beyond, I wouldn't be quick to claim that Haskell isn't "unusually hard to learn." You don't have to be SPJ to learn Haskell (or talk about how hard it is). Do I have to be Stroustrup to pass judgement on how hard it is to learn C++? >In particular people who are older and have "work/life balance," ... and the life part of that work/life balance doesn't allow much time to do so. I obviously don't mean that Haskell is easy for every single person in the world to learn; I mean that, as far as languages go, it's relatively easy enough to learn. If I didn't have enough time to learn Haskell, I also wouldn't have enough time to learn C++ or Python. > but just maybe don't be so glib to claim it is not hard. Again, what do you propose? Lie and tell people that it's super hard, so I don't hurt their feelings if they can't figure it out?
- bojo 12y agoMaybe consider a little humility first.
- wyager 12y agoDoes it demonstrate a lack of humility to be honest about how difficult something was for me? I'm sorry my truthful assessment offends you. If humility means pretending things are harder than they are, then I guess I don't have any humility.
- spyder81 12y agoWhether we find it offensive or not isn't relevant. Your comments are degrading to those who find it difficult, and you are actively hostile when they complain or we point this out. Your attitude is one I see too often in the FP community, and well-meaning or not it holds us all back.
- wyager 12y ago>Your comments are degrading to those who find it difficult Again, what do you propose I do about it? Should I never say anything positive about anything, lest I offend someone who had a bad experience? >Your attitude is one I see too often in the FP community Which attitude is that? Optimism?
- spyder81 12y ago> Should I never say anything Well if you can't understand why your phrasing turns a positive idea into making somebody feel bad, probably. > Which attitude is that? Optimism? A version of it, yes. The "if you don't find it easy you are the problem" attitude.
- bojo 12y agoYou seem kind of hooked up on the "easy for you" part, which really isn't the part anyone cares about. I can't even comprehend how you came to the conclusion that you are being asked to lie. Maybe a more constructive (humble?) approach would be to show others why it was easy for you, subjective as that may be, and how they can achieve faster comprehension levels based on your own experiences.
- mattgreenrocks 12y agoLearning Haskell is not out of the question for most devs. The real question is whether they're willing to let go of a lot of their programming experience so as to admit a different style of programming. It's more akin to studying than anything else. I've had evenings where I've been unable to proceed because I can't write one line. It's OK; it's part of learning. No one said it would be easy. Beginner's mind is key.
- dllthomas 12y agoRegarding your first point, it doesn't even require the claimant to be better in any particular sense - it could be that their prior knowledge was simply a better fit to the new concepts. Regarding the second, I don't think it makes sense to consider "difficulty in learning Haskell" to be "difficulty in learning all of everything anyone's done with Haskell." Even SPJ has (or at least recently had) a pretty shallow understanding of Kmett's lens library. The two important questions are 1) how much do I need to learn to get things done in Haskell, and 2) how much do I need to learn to participate usefully in the Haskell community. 1 is less than 2, which is less than what you described. "There is more stuff to learn that can make you even more productive, but you can get by without it and still be productive" often gets treated as a negative, and I find that strange...