Follow

I really want to code more open-source Haskell but i just cant justify the lack in contribution that would result in....

Β· Β· 1 Β· 0 Β· 1

@freemo You mean that people would not contribute to it because it is written in Haskell?

@freemo Potential contributors? Maybe. Actual contributors. Maybe not so much. People rarely help with small to medium projects. Most feedback you usually get is that you are not using the right language, license, version control, you name it. But even if you change those aspects, the people who have initially complained about that won't contribute anything. I'd say, use what's best for you to realize the project. You will remain the sole maintainer for the majority of its existence anyway.

@raichoo I run a lot of different open-source projects across several different languages. I find that language choice is a huge factor in the actua number of contributors you get on an active and useful project.

@freemo It's just my take on it, not trying to convince you of anything. It's just the way I tend to role with things. YMMV and that's totally fair.

@raichoo In terms of enjoying what your coding, I agree, do what is fun.

Thats the thing, you are going to pick what languages you find fun, most people would, most people SHOULD. But thats also why if I want a piece of software to be successful I will have better luck picking a popular language.

Whenever I want to write a project in haskell I quickly look at other projects like xmonad and how simply choosing haskell for the most part has lead to it getting very little attention compared to things like i3

@freemo Attention can be a driving factor. I personally don't see the merit in it though. I want to create the best outcome possible for me and the people who end up using my code. If it gains a larger audience that's fine. If it happens to be a handful of people, that's also fine. I don't consider "user base" or whatever an interesting metric to go by. I use some rather obscure tools, but I use them because they are exceptionally good, not because they are popular.

@freemo There are things for which I use Haskell, there are other things for which I use C, or something else. The choice of tools is purely driven by what suits the needs of the project not how I can increase the number of people using and/or contributing to it. It worked pretty well for me but that's just my 2 cents.

@raichoo Depends what your building. In my case I am building a decentralized P2P system that, like all such systems, has its success determined by how many people use it. So in this case getting attention is of critical importance really.

@freemo Like I said. Different needs, different drives. For something like that I'd probably use Haskell because of the robustness it delivers. Been using it for rather critical stuff for a couple of projects in my day-job. But if you have your reasons not to use it, why ponder the idea?

@raichoo I like haskell because its fun. But it cant really do anything better or worse than any other language. In fact since it isnt as popular if anything it works to my disadvantage due to having fewer libraries to pick from.

I would happily pick a language just for enjoyment to use it alone if i could get away with it (and on many projects I can). But sadly in this case practical needs outweigh my personal enjoyment.

@freemo In that regard I disagree. Anyway, it's your project. I'm not here to convince you of anything.

@raichoo @freemo It seems to me that the most important aspect of choosing a language for a project is how it affects your own programming speed and effectiveness, of which happiness is a part.

Unless you're starting out with a team (or using a super unpopular lang), the real way you get help is by writing something people get excited about.

For small languages, you *also* have aficionados running around looking for a cool project to join *just* for that language, so it goes both ways.

@byron

That is true, if im having fun im more motivated and that should be factored in for sure. Next time im working on a project that isnt so dependent on contribution i will likely take a stab at Haskell. Until now I've just done toy snippets like this:

anaconda.org/freemo/multibimap

@raichoo

@freemo @byron If you want to find out what languages like Haskell and ML can do better than other languages, I really want to recommend this talk to you: youtube.com/watch?v=DM2hEBwEWP. Even though it's about ML it applies to all languages that have algebraic data types, something that is missing in most popular languages. The rabbit hole is far and wide. I don't want to appear condescending, this is stuff that most people don't realize when they just toy around with the language (which is cool!).

@raichoo

I'll check it out, though algebraic types are nothing new to me. Keep in mind i never said there wasnt anything unique about Haskell, only that it didnt produce better applications in any sense.

@byron

@freemo @byron Certainly depends on what you mean by "better". Haskell just gives you tools to prevent certain common classes of errors. Tools which other languages simply lack and cannot emulate. Algebraic data types are also really just a piece of the puzzle. Things like data kind promotion also open up whole new possibilities, akin to dependent types. Being able to write code that eradicates certain classes of bugs yields "better" applications in terms of robustness. At least for me.

@raichoo

Well sure, I do find in haskell some errors are less common or easier to solve, others are more common or harder to solve. There is a balance of pros and cons with any language mostly.

@byron

@raichoo @freemo I'm definitely in the camp of "I've only toyed with Haskell and it was a while ago" but I was sold on the power of what it brings to the table.

In terms of what makes an app "better"... removing classes of bugs is obviously an advantage.

@raichoo @freemo ...BUT still, in most cases the first order differentiator between apps is whether you wrote it at all, or not.

Sounds simple but realistically the biggest hurdle tends to be "did I finish it in a meaningful way?"

So it can be about picking the language you enjoy using the most.

Of course it depends on use case too, and in a real sense languages aren't just syntax but libraries, tools and even supported platforms too.

As @freemo says, removing bug classes often adds others.

Show more
Show more
Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.