Hacker News new | past | comments | ask | show | jobs | submit login

I would say it’s because the Haskell community is too arrogant and pretentious.

I love the language and worked with it professionally for over a year, but I can’t stand everything around the developer experience and community.

Rust is a breath of fresh air.




> I would say it’s because the Haskell community is too arrogant and pretentious.

That by itself is only a cause. What's the effect, what's the symptom of this attitude, what are the practical observable results? Gatekeeping? Rude forum responses? (I know OCaml partially suffered from that and they can be fairly elitistic; when you ask something fairly normal nowadays like "what's the preferred package manager?" or "how do you build a project?" is sometimes met with smartass responses like "what's a project?")

> I love the language and worked with it professionally for over a year, but I can’t stand everything around the developer experience and community.

Sums up my experience with several development communities, yep. I can relate.

> Rust is a breath of fresh air.

I feel the same, the community is extremely pragmatic. I've met a few a-holes but they were a very, very rare exception. 99% of everyone I interacted with was just like me: they were looking how to get the job done AND write idiomatic and efficient code.


It's strange, because many, many times I've heard newcomers say that the Haskell community is the most friendly and welcoming that they have interacted with. By this point I don't have any better hypothesis than that different people prefer different sorts of community. I also think it's unfortunate if someone stops using a language they love because of the community. Ideally a programming language would have multiple communities so everyone can find one that works for them. Perhaps niche language are too niche for that possibility, though.


> I also think it's unfortunate if someone stops using a language they love because of the community.

This really depends. I don't care about some abstract notion of a community BUT if I can't get basic stuff done because documentation is not good and the official forum responses are not helpful then yes, I absolutely will abandon the language.

To this day, languages differ a lot. I.e. in Elixir and Rust I can just add dependencies to a file (Rust even allows you to add the dep via a CLI command) and then reference it in your code a minute later, issue a command and your project is compiled and runs and you see the result.

Now ask me how much time I spent fiddling with OCaml's `dune` and `esy` which are a project manager and a dependency manager respectively. Took me an entire weekend to get one simple code to compile with a singular CLI command, and then run it. And community was not helpful: "check the docs", which I did 15 times probably over the course of that same weekend.

To go back to your point, friendly / welcoming community is just a bonus. The community has to be helpful above everything else. Some people are noobs. Some people like myself are senior BUT are unwilling to start over and are just looking for "how to do X and Y without spending a full day?". Some people are trying to make a presentation to advocate for the technology on an internal meeting. Examples abound.

I am not an experienced moderator (nor I ever want to be) but I've witnessed significant differences in how various programming language (or just a framework) communities act, and how helpful they are. It absolutely isn't identical or even close. Some are downright off-putting.

Finally, I make no claims about Haskell in any way except only one thing: when I saw its huge combinatorial explosion of different compilers, I gave up on the spot. Give me 2-3 options and leave the rest to the enthusiasts.


Totally agreed with you there. I hope Haskell's community is generally friendly and welcoming, but I guess it isn't always that way.

In case you're interested into how Haskell handles some of the specifics you brought up:

> in Elixir and Rust I can just add dependencies to a file (Rust even allows you to add the dep via a CLI command) and then reference it in your code a minute later, issue a command and your project is compiled and runs and you see the result

This is also true of Haskell using Cabal. Cabal has some rough edges. Perhaps it's not as ergonomic as the Elixir or Rust equivalents (I've never used them) but you can at least do that.

> when I saw its huge combinatorial explosion of different compilers, I gave up on the spot. Give me 2-3 options and leave the rest to the enthusiasts.

This issue has been resolved with the introduction of the GHC2021 language edition. Just use that. No need for any other language extensions as a non-expert, except maybe in very special cases.

(By the way, there was never a combinatorial explosion of compilers. Almost all language extensions simply remove restrictions. But I understand how people could interpret it that way, and GHC2021 is a very simple way of resolving the misunderstanding.)


Thanks for pointing those out. I see that my info is outdated.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: