Haskell is never going to go mainstream. Stop pushing it, because it's getting really tedious.
Haskell is never going to go mainstream. Stop pushing it, because it's getting really tedious.
http://johnmacfarlane.net/pandoc/
http://git-annex.branchable.com/
You are welcome :)
http://steamcommunity.com/sharedfiles/filedetails/?id=107105...
While Haskell has seen some usage, of course, we really haven't seen any major and widely-used non-compiler software developed using it. It's perfectly legitimate to point this out, and using very obscure counterexamples doesn't change this reality.
It may be niche, but it's not unknown. If you need to convert markdown/rest/latex/etc to pdf/html/epub/etc, Pandoc's gonna come up.
There's a difference between pointing it out and being a jerk while pointing it out.
Hence the downvotes.
By the way, I don't know Haskell, but I am writing this comment from XMonad. :)
All the tutorials and theory make sense, but making the jump to what I can do with other languages still seems a big one.
A real world thing I did this week (which unfortunately is proprietary so I can't share), was a distributed configuration system for our cluster. It uses the RabbitMQ library[1][2] and Acid-state library[3] to have a per-node config-DB and uses RabbitMQ's guarantees for delivery of updates to the nodes. Messages are serialised using Aeson[4], the Haskell JSON library. I implemented a vector-clock versioning system on top of the Acid-state store to allow the clients to do conflict resolution. It really was a joy to write (around 350 lines of code). The C# client less so, 1000s of lines of boilerplate.
I think there's something really impressive about haskell; I tend to have significantly more trust in the code I write because mostly I know the edge cases don't exist. 9 times out of 10 if your code compiles it will work. Although be prepared for the compiler to hate you when you first start. The beatings are worth it though.
There's some basic code samples in the links:
[1] https://github.com/hreinhardt/amqp
[2] http://videlalvaro.github.io/2010/09/haskell-and-rabbitmq.ht...
Git-Annex https://git-annex.branchable.com/
Google searches with Xmonad would then find no matches with Xmonad and crash or freeze?
Having a small amount of influence within a rather obscure field ends up translating to basically no importance in practice.
There are many examples of very large and critical software systems implemented in languages like C, C++, Java, C#, Perl, Python, Ruby, and others. We just don't see anything like this when it comes to Haskell, however. The examples that do exist are quite minor in reality, and this will naturally make some people skeptical about Haskell's practicality.
And Haskell predates Python, Ruby, JavaScript, Java and C#. It has had a very long time to become more widely used, yet we just haven't seen this happen. It's not like people don't know about it; many students, academics and practitioners have been exposed to it for years now, and it does get a fair amount of hype for a language that has experienced limited use in practice.
I just don't think it offers enough benefit for the cost involved with learning and using it. If the balance were better, we'd see it being used. But that isn't the case, so it sees minimal usage.
He's merely pointing out the very real fact that Haskell's adoption is quite limited, and the fact that there really isn't much truly critical software written using it, despite the hype surrounding it and its age.
I'd say it has made more of an impact by influencing other, more pragmatic languages than it has by software written using it.
Five years on, they posted it again, because maybe there's some new suckers out there.
First of all, you are right. Haskell is never going to become as common as C or Java, and I don't think anybody is claiming that it will. It is a language that is designed around theoretical concerns rather than being pragmatic. But that is exactly what makes it so valuable to learn.
There are some relatively niche situations where it might be a good choice, but those are few and far between.
We've seen the most useful and practical features offered by Haskell make their way into other more mainstream languages over the years. The more theoretical features haven't made this transition because they really aren't all that practical.
At this point, most programmers would be better off learning more about security, cryptography, databases, networking and other everyday topics than they would be by learning about the more theoretical functionality offered by Haskell.
Just curious. How much Haskell/FP experience do you have?
Functional programming does offer some benefits, in some cases. I'm not suggesting that it doesn't. And while I don't think it'd be harmful to know Haskell, I'm not convinced that the benefit it would bring is necessarily worth the effort involved, especially for programmers who are already busy with work and other commitments.
Just because not a lot of programmers understand the language yet doesn't mean that programmers in the future can't learn it and take advantage of it. I hope they do, because just by programming in haskell, you automatically rule out entire classes of bugs.
Well, they certainly did that.