5 ms·
Very few programmers are proficient in Haskell, and operating systems and language tooling are built around imperative C-style semantics. Combine that with the
by simplecomplex 7y ago
Very few programmers are proficient in Haskell, and operating systems and language tooling are built around imperative C-style semantics.
Combine that with the fact that most of the software industry does not care about correctness or stable software and generally lacks professionalism. "Just ship this half-assed software as soon as possible" is the attitude at the majority of software companies.
- baroffoos 7y agoHonestly this is true. Most of the world doesn't give a shit if a page on their web store is broken. They get an exception email and then fix it, no real loss. While switching over to haskell may make your software more stable, at the end of the day the amount of extra time spent writing it in a more stable language is going to cost the business a lot more than a slightly buggy website will.
- yakshaving_jgt 7y agoCompletely false. Many “real world” businesses are shipping web apps in Haskell. Anecdotally, they take less time to write than the equivalent Rails app.
- jinfiesto 7y agoI don't know. I've been slinging Haskell on the side for the better part of a decade and do most of my day to day in RoR (trying to start moving clients over to Elixir/Phoenix.) Haskell is an amazing language. I would totally buy that Haskell teams probably win in the medium to long-term as the wins you get in terms of support/maintenance/extensibility are pretty obvious. However, anecdotally, Haskell forces me (and I imagine other programmers) to invest a lot more time up-front into getting your design in order. Haskell punishes an "oh I'll just hack that out" attitude pretty badly. Which, as I said above I would completely believe leads to wins in the medium to long-term. If I need to bang out an MVP over the weekend, I'm probably not choosing Haskell unless it's well-trodden Haskell territory. Additionally, while the language itself is amazing, the ecosystem has issues (enumerated in the article.) Tooling sucks, there aren't enough examples of people doing normal things, there are frequently not libraries for basic things, obviously integrations with popular services are lacking, and the list goes on. When Haskell has a decently mature and actively developed web framework that has reasonable docs, examples, and a not pathetic ecosystem (by the standard of modern web frameworks) I'll happily jump into using Haskell in production. Unfortunately, these aren't things enough of the community seems interested in to have significant movement on. Servant looks very interesting with regards to what I'm looking for, but I'd be lying if I said I understood the types.
- yakshaving_jgt 7y agoYesod is plenty mature. There are reasonable docs and examples. I'm not sure what else to tell you. I run three web businesses on Yesod, and it accounts for 100% of my income. I'm also not a great programmer, and have a long history of just "hacking things out". The stuff works, and it's ready to go, today.
- baroffoos 7y agoI spent 7 months trying to build a json api using yesod with a friend. We had nothing but headaches. Its insanely hard to find example code or search issues when using yesod. Hardly anything exists about it on stack overflow already so any time I had an issue I had to post it on SO and wait a day for someone to answer it which meant I could only do about an hour of programming a day. I ended up giving up used RoR and replicated more than the 7 months worth of work in a few weeks. There is a very good reason RoR is far more popular than haskell web apps. Its just so easy to get started with rails, there is a near infinite amount of information online.
- yakshaving_jgt 7y ago…Seven months? I can't imagine what you were doing for that length of time. It's not that hard[0]. [0]: https://pbrisbin.com/posts/writing_json_apis_with_yesod/ https://pbrisbin.com/posts/writing_json_apis_with_yesod/
- baroffoos 7y agoMany web apps might be written in haskell but I assure you many many many more are written in ruby. I very much doubt you will find a haskell developer willing to build your web store in haskell for $15/hour. With rails you can just import Spree, make a few modifications and host it and you are done.
- yakshaving_jgt 7y agoI write Haskell web apps, and I used to write Ruby web apps. You don't need to assure me; I'm well aware. If you're in the realm of "import Spree, make a few modifications and you are done", then sure, use Ruby. The products I work on just aren't that generic/trivial. > I very much doubt you will find a haskell developer willing to build your web store in haskell for $15/hour. The market is larger than you think. I have hired people before at $15 per hour. I have people working for me now at $23 per hour. Not everything needs to be stupid SV money.
- ubadair 7y agoSoftware engineering is all about trade-offs and making sure stakeholders are fully informed thereof. Pressure to deliver is one of the most challenging problems an engineer can face, because it stands in opposition to every ideal. Yet it's about as normal as death and taxes. Haskell sounds amazing. I would be thrilled to learn it, and I hope the ecosystem flourishes. I hope there will eventually be millions of jobs to write code in the language. I'm a little bit envious of those who speak fluently about monads and set theory, and I've learned a lot from brushing shoulders with those people. Meanwhile, I'll continue solving real-world, extremely stateful problems in an as-purely-functional-as-I-deem-convenient manner with the tools I already have under my belt. You can pry my precious semicolons from my cold, dead, carpal-tunnelled hands.
- yakshaving_jgt 7y agoHi. I run three startups on Haskell. One of them is VC funded. We have the stakeholders. We have the pressure to deliver. Haskell is making this easier, not harder. We can maintain pace as the software grows because the language is generally well-principled, and the compiler keeps us in check rather than us having to rely on human discipline.
- lmm 7y agoHaskell is useful whatever your priorities are (unless you have a really low quality requirement, like a script that fits on a single page and gets run only once). If you think of the project management triangle, switching to Haskell gets you a bonus that you can distribute between the points as you wish: you can produce higher-quality code for the same scope/cost/time, wider-scoped code at the same quality/cost/time, code at the same quality/scope/cost in less time, or so on. IME a lot of Haskell advocates spend this windfall in a way that's poorly aligned to business requirements: we spend it all on increasing the code quality (and perhaps even overshoot, taking more time than users of another language to produce code of the same scope). But that's not an inevitability. (I would speculate that it tends to happen because most people in the software industry claim to value quality a lot more than they actually do, and a lot of Haskell programmers take them at their word).
- namelosw 7y agoI read a StackExchange question basically asking "Why formal method is not popular?" A typical response is "Most of softwares is not building aircrafts". And... After googled for a while, it turns out companies building aircraft don't use formal method.