Posted at

Samuel Gélineau からの返信その2

Question 2

Do you think that the adoption rate of Haskell in industry will grow over time?

Yes, Haskell's adoption is growing and I believe it will continue to grow. However, Scala's adoption has grown much faster, and I think there is a lesson there. To quote John Wiegley again, “Haskell’s cost is an upfront cost with a long payoff over time, whereas other languages have an incredibly small upfront cost, but you keep paying over time”. Not having to keep paying over time is very good in the long term, but having a small upfront cost is a more important factor when it comes to a language's adoption rate.

By supporting both a Java-like programming style and a purely-functional programming style, Scala allows that upfront cost to be spread over a much longer period, at the cost of making its purely-functional code a lot more verbose than the corresponding Haskell code. As Scala’s spectacular success demonstrates, this can be a very worthwhile tradeoff! I believe there are other points in the design space which are worth exploring, and that despite Haskell’s continued growth, other Scala-like successes will continue to eclipse Haskell in terms of adoption rate. As long as those are FP languages, I think that's a good thing!

If so, in what area will Haskell be used more frequently?

As a general-purpose language, Haskell should be suitable for most domains. In practice, it turns out that some domains have more and better libraries, but I believe this mostly reflects the areas in which library writers up to now have chosen to invest their time, rather than betraying any significant limitation of the language.

Judging by the Haskell job posts I have seen go by, I’d say that the current domains in which Haskell is used the most are: finance, cryptocurrency, and web-app backends.

The web and cryptocurrency domains are very popular domains overall, regardless of programming language, so it’s not very surprising to see them in that list. For the finance and cryptocurrency domains, if bugs are going to lead to big money losses, it makes sense to use a language which is known for its correctness properties. But if that was the only reason, I would expect to also see other domains in which correctness is very important, such as controllers for automated vehicles and for medical devices, not just money-related domains. So I’m guessing there is a self-reinforcing effect here, in which new players in one domain are more likely to adopt a technology if they see that other players in their domain are already using it.

Note that cryptocurrency appears on both sublists: it’s a domain which is very popular these days, in which it makes sense to use a language which favours correctness, and in which a self-reinforcing effect is causing new players to be more likely to consider Haskell in the first place. So that would be my guess for the domain in which Haskell will be used the most frequently in the near future.