6 ms·
I was very, very obsessed with Haskell for about 9 months, during which time I attempted to make a very simple web app at least 5 times. I like debugging, but I
by shallowthought 6y ago
I was very, very obsessed with Haskell for about 9 months, during which time I attempted to make a very simple web app at least 5 times. I like debugging, but I just flat-out couldn't make it work. Plus, constantly feeling stupid is a huge drain on one's motivation to continue. Plus, the community was... not helpful. I mean, I get the whole "Avoid success at all costs", to avoid the language becoming entangled with the desires of large corporate interests, but it did feel a little extreme. Mind, this was 7 years ago, and I assume haskell stack and a few other tools make things a lot easier.
Actually, this is something I've always wondered: I know that any Haskell enthusiast would, upon hearing someone say, "I like the ideas, but it's just too hard to program in", respond, no, it's not, you just didn't learn it the right way, or this IDE with that extension makes it much easier, or you really should have started with Learn You A Haskell. But what I'm really curious about is this: Putting all that said, assume for the moment that Haskell really is too complicated for anyone without an advanced degree in hyperbolic topology to understand.
Do you care?
- CyberDildonics 6y agoI like to use my complexity budget on the problems I'm solving, not the tools I'm using. Haskell has been around for 30 years, sucking people in and spitting them out again.
- rowanG077 6y agoSo I'm guessing you write all your code in brainfuck given that it has possibly the lowest complexity of all PLs? Tbh this complexity budget is a rather stupid notion in regard to programming languages. Higher level languages allow you to spend less cognition on the language provide you actually know the language. There's a very clear reason we are moving away from C to more complex languages.
- CyberDildonics 6y agoThere is more cognitive overhead to bf, the programming language does not help you mitigate it. C++ destructors and rvalues help condense ownership without having to think about the execution path of a whole program. I'm not aware of what haskell features + tools pragmatically decrease the complexity of a program. If an experienced programmer is still fighting with the language heavily after 9 months and can't figure out a good way to debug programs, that should be a red flag if it is a consistent scenario.
- rowanG077 6y agoGADTs are insanely helpful in writing correct by construction code. That function indicate the effects it has in the type is possibly the greatest feature Haskell has. Haskell LSP is great allowing to write and evaluate doctests in real-time. Haskell can be learned in a couple of months of serious learning. If you don't get it after 9 months you simply weren't serious in learning it. It's not like Haskell is harder then any other language. It's concepts are different which makes it hard to learn. But C++ and Python are much harder to write code in then Haskell.
- tome 6y ago> If you don't get it after 9 months you simply weren't serious in learning it. That seems a bit harsh. I can believe that everyone should be able to learn Haskell sufficiently well after a couple of months if they stumble across the correct learning material and have sufficient support. I can also see that someone from outside the community might make a solid effort for nine months and not make much progress, simply because the correct learning material wasn't easily discoverable.
- rowanG077 6y agoTo be clear. Serious in learning it would mean dedicating at least 8 hours a day to it. By for example starting a Haskell job and needing to learn the language. Besides I don't really think material is a valid excuse anymore given that there are so many tutorials and books available. There are also many chats and mailing lists where you can ask any question you might have that are beginner friendly.
- sullyj3 6y agoGiven that I don't have a degree in hyperbolic topology, that would definitely put a damper on my appreciation for the language, yep haha. I'd probably consider myself to be on the lower side of average intelligence for programmers, and I like it a lot. Granted, I haven't gotten around to writing a working web app in it yet.
- agumonkey 6y agofirst time typed FP project ? haskell has a long history, and ancestors with a long history too, it's normal to feel alienated when you have a background with mainstream languages I can't talk for haskellers (I'm not using it) but it's not that FP/haskell doesn't care, it's just that its medicine taste sour to you. If I can give you another point of view, languages like php, started very differently from what they are now. Give a 'closure' to a php3 dev and he will feel just like you do I believe. In 2020, the most used php web frameworks use closures as the normal way, and people are quite happy with it. I believe haskell is just like that, it's just too advanced.
- lallysingh 6y agoI care. I'll submit that it's got it's complicated parts, but on the whole it's no more than c++ (also complicated, given).
- chowells 6y agoI don't know what trouble you ran into. It's not difficult to write a web app in Haskell, nor was it seven years ago. All the major frameworks had been established by then. But at the same time I don't want to dismiss your difficulties. Whatever was going on clearly left a scar. I will say there's no such thing as a programmer who can't learn Haskell and be productive in it. It's not fundamentally more difficult than any other language. It's just that you have to learn to program more or less from scratch again. That initial learning curve was more work than I'd been through to learn a programming language in 25 years, when I first learned Haskell. Of course, there's definitely such a thing as a programmer who won't like Haskell even after learning it. It's not for everyone. But neither is perl, or c, or python, or java, or....
- transfire 6y agoI can relate. I can program in just about any language. I can handle Lisp, muddle through most Prolog and don't have too much trouble with FPs like Elixir and Erlang. But as much as I have read again and again about Haskell, I always eventually seem to get utterly confounded.
- the_only_law 6y agoI know and interact with a handful of Haskell devs, some of whom even work with it full time. Some of the ideas behind Haskell intrigue me, but I'm a complete idiot. Now everyone is going to say that you don't need to understand the different theories behind purely functional languages to learn Haskell or know any math, but I'm not quite convinced. Just the vocabulary alone of most Haskell programmers I talk to seems foreign to me. I'm not just talking about half-jokes like zygohistomorphic prepromorphism either. The dictiob used in normal programming discussion makes no sense to me.