Hacker News new | ask | show | jobs
by pdimitar 875 days ago
> 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.

1 comments

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.