The powerful Haskell community includes researchers who advance the language, and users who apply the language to solve real-world problems. Recently 1100 people took the time to respond to FP Complete’s Haskell User Survey. Here are the key results. See the full report by clicking here.
Haskell is thriving in a wide range of real-world uses, and growing rapidly. Nearly all survey respondents wish to continue or increase their level of Haskell use. Satisfaction is very high (13 to 1, or better) with Haskell’s security, quality, reliability, maintainability, and advanced capabilities.
Where 30 months ago there was huge demand for better package management tools, this former roadblock has been cleared. Satisfaction is high (at least 6 times as many satisfied users, vs dissatisfied) with Haskell’s tools, cost-effectiveness, rapid development, performance, compatibility, and deployability — and with the supportive Haskell community.
Users now want to adopt more Haskell in their work, so understandably they desire more training resources, Haskell expert staff, professional services, and IDE support. They emphatically believe Haskell’s reputation has not yet caught up with its reality.
These thousand-plus respondents form a picture of a Haskell community that’s much more diverse and project-focused than Haskell’s historic “scientists only” reputation.
Haskell has taken root in diverse industries. Teams use Haskell in many fields and solve many kinds of problems. Survey respondents report building serious work projects in financial analysis, cloud middleware, network security, transportation logistics, healthcare, life sciences, robotics, data repositories, language design, high-performance computing, Web services, OCR, text analysis and natural language processing, system management, e-commerce, high-frequency trading, cryptocurrency, astronomy, online advertising, insurance, hardware engineering, software engineering tools, Internet of Things (IOT), education, XML and JSON and other data parsing and data format conversion, and of course computer science research.
Haskell is used to build major products. While many users select Haskell just for key problems in mixed-language teams, or just the server side of things, many others report building end-to-end solutions fully in Haskell, including back end, front end, microservices, data management, everything.
Engineers are gettin’ it done. In 2015 users complained that Haskell tooling was frustrating and it wasn’t clear how to get productive, but this has improved hugely. Most applied users (80%) use the tool Stack which is new since that time, and others use the tool Cabal which has improved too. With these open-source solutions in hand, the language itself has proven to be much easier than people had worried.
Haskell delivers the quality, features, and performance for production work. The survey focused intently on these issues, and users say in detail that they can build serious IT solutions in Haskell, and that it has the features they want. See the detailed “top strengths” below.
Haskell’s reputation, communication, and education need to catch up to reality. Severely trailing users’ high satisfaction with the language, they are frustrated by a lack of materials to easily explain their enthusiasm to colleagues and management. Haskell’s historic reputation as elite or hard to learn is a real problem for users, who believe better outreach material will increase adoption.
Intermediate users and teams need more attention from the community. While ratings for the Haskell community’s inclusiveness remain stellar (19 times as many users feel included/welcomed vs. the opposite), applied and non-advanced users express a strong desire to be embraced and helped along, with more encouragement and examples and mentoring, in less advanced terms they can easily follow.
Which aspects of Haskell best satisfy users? These statements earned the highest ratio of positive (4 or 5, agree or strongly agree) to negative (2 or 1, disagree or strongly disagree). To help understand the ratings I’ve also included a few of the thousands of comments users gave.
118:1 (avg=4.37) Software developed using Haskell is …high in quality (low in bugs or defects).
50:1 (avg=4.21) … advanced, innovative.
47:1 (avg=3.88) … secure.
22:1 (avg=3.95) … reliable, handles faults well.
16:1 (avg=4.04) … maintainable over time.
13:1 (avg=3.94) Using Haskell, I can readily deliver projects that support the kinds of algorithms, computations, analysis, and other processing I care about.
9:1 (avg=3.80) The Haskell language has the features we need for successful projects.
10:1 (avg=3.69) … cost-effective.
7:1 (avg=3.63) … deployable onto the machines where it will run.
7:1 (avg=3.53) I can easily incorporate new features or versions without breaking my existing work.
6:1 (avg=3.62) The available Haskell tools make me more productive.
6:1 (avg=3.55) … high performing (fast).
The Haskell community itself earns high ratings, though newcomers and intermediate users sometimes feel intimidated or desire more materials suited to their level:
19:1 (avg=3.78) I feel included and welcome in the Haskell community
17:1 (avg=3.73) The Haskell community treats people the way we should be treated.
15:1 (avg=3.82) I have a positive overall experience when seeking help from the Haskell community.
8:1 (avg=3.70) There are clear opportunities to participate and give back to the Haskell community if I want to.
7:1 (avg=3.59) I easily get sufficient help and advice from the Haskell community.
There is a minority of users who feel the community can be elitist or sexist. I believe our community needs to get an A+ in this topic, and I will make a special blog post about these comments received. Let’s see how we can do better.
These 3 topics all showed up on the 2015 survey, so we asked about them again in various ways. Now that technical things are going so well, these remain as the trouble spots for users. Interestingly, none are really technical issues.
Here’s the ratio of disagreeing (rating = 1 or 2) vs. agreeing (rating = 4 or 5), along with the the average rating, where 3 = neutral. I’ve included representative comments from the very many provided.
3:1 (avg=2.46) My organization and I have the professional services, support, mentoring, or training needed for efficient Haskell adoption.
3:1 (avg=2.42) It is easy to convince my management, and any other approvers I care about, that using Haskell merits their approval and support.
2.5:1 (avg=2.53) I believe my organization can easily locate and hire, and/or train in-house, all of the skilled staff needed to adopt Haskell.
1.7:1 (avg=2.70) My colleagues and I have sufficient access to Haskell experts or mentors who can help us find the best ways to get things done.
1.6:1 (avg=2.74) I believe I could easily onboard new engineers on my team to my Haskell projects.
1.6:1 (avg=2.77) Haskell’s reputation helps efforts to get it adopted.
(I would add anecdotally that the financial technology industry seems to be the exception — I’ve met so many FinTech people whose impression of Haskell is outstanding, even if they haven’t tried it yet.) It seems we have our work cut out for us — actual Haskell users are so satisfied, but constantly encounter non-users who believe it would be hard to learn.
Clearly users want better resources to train their colleagues on Haskell, and to teach their management about the benefits that users are already seeing. And clearly there is a need for senior Haskellers to provide commercial-quality services that help get teams up to speed. (This is consistent with our anecdotal experience at FP Complete serving numerous companies that use Haskell — they value such services, and typically want to reuse known best practices — if someone will share them.)
Commercial use of Haskell has increased dramatically and diversified hugely since our previous survey in 2015.
At FP Complete we regularly serve Haskell users in a wide range of industries, but the biggest are financial technology (FinTech), healthcare/life sciences, security-focused Internet services, and transport/aerospace. These and many more were represented in the survey results.
Haskell-at-work users who answered the survey were also led by a large contingent from FinTech, as well as academia (Haskell being a favorite with researchers); then quite a few from network security, e-commerce, and networking in general. We see transport/logistics, diverse fields of manufacturing, and data processing infrastructure such as data mining and document management and cloud storage.
Most surprisingly, we also see Haskell users in truly diverse industries not historically considered Haskell zealots, including gaming, electronics design, and physical sciences HPC (supercomputing/cluster computing). In the past two years Haskell has really broken out of its imaginary “box” and is being used in a wide range of fields. We even see quite a few independent IT consulting/contracting firms using Haskell to create solutions for other companies — Haskell isn’t just for in-house use anymore.
The biggest lesson for me? Haskell is affecting the world at large. While Haskell continues to be an outstanding research platform — and may the Haskell community keep up this momentum for a long time to come — it is now firmly established as a commercial tool for use in a wide range of industries. Given that the top strengths from the survey were “quality, advanced, secure, reliable, maintainable,” with a side dish of “cost effective, productive, high-performance,” this increased popularity makes sense.
The second biggest lesson for me? Haskell is seeing particular success in financial technology. FinTech is one of the most demanding industries for powerful IT, so this validation is gratifying.
We can and should celebrate the huge strides Haskell has made in applied adoption. After many years of academic-style development (which continues), a whole lot of applied Haskell users are now deep into successful production with this language and toolset.
We are now a community of fairly advanced to very advanced and successful software developers and computer scientists. We can see how well our technology is working for friends and strangers alike. The challenge before us is to make this powerhouse technology more accessible to the more numerous masses of beginning and intermediate adopters.
In addition to the well-understood areas for standard tool development (IDE support, compiler speed, performance profiling, etc.), and the newer DevOps areas that have gained such importance in recent years (continuous integration, continuous deployment, cloud support, cross-platform integration, etc.), we now face non-technical work items that require some community focus:
If you’ve been looking at Haskell for a while, the enormous success of the language during the past 2.5 years suggests that it may be time to move forward. The variety of users reporting success with Haskell in a wide range of applications and industries tells us that the tools have firmly matured to production quality.
If you’ve had successes with Haskell (perhaps you’re even one of the survey respondents), consider writing up your experience report in some detail so that other would-be Haskellers can learn from you. If you don’t have a good place to post it, I’ll help you find one. (Our own blog isn’t full yet!) Especially consider publishing on sites (or linking from sites) that focus or your industry, not only sharing with current Haskellers but also with your colleagues in FinTech, in genetic research, in molecular dynamics, in network security, in cloud DevOps, in data modeling, in transportation logistics, or whatever field you’re working in. People need to hear about Haskell, and it’s ready to be talked about.
If you need more active help moving forward with Haskell, don’t hesitate to be vocal online about your needs. If you need *really* active hands-on help, you are of course always welcome to contact FP Complete since we do that for a living.
If you’re one of the very many educators using Haskell, consider accelerating your teaching of Haskell and Functional Programming in general to your undergraduates. Industry is clearly ready to move past the era of only-imperative programming, and we need qualified grads.
If you’re an advanced engineer looking to contribute to hardcore Haskell tools or packages, and don’t know where to turn, please show up on the various Haskell online forums and ask “how can I help with x.” If you don’t know whom else to ask, you are welcome to ask me and I’ll refer you to someone helpful. If you’re a lead-level organizer of projects, so much the better.
We learned again that Haskell users are generous with their time; it is no small thing for a thousand software experts to complete detailed a 50-question survey, and hundreds made extra time to provide thousands of informative comments. Thank you, Haskellers!
We learned that our thousands of hours contributing to open-source components have not been wasted, and noted with special pleasure that 80% of commercial Haskell users are using Stack, an open-source tool initiated and lead-maintained by engineers from FP Complete. It was heartwarming to read the many comments of thanks and support directed at FP Complete regarding numerous projects we’ve done for the community.
As the world’s leading provider of Haskell tools and services, FP Complete is committed to contributing more than its fair share to the community. These encouraging survey results just reinforce our commitment. We paid for the survey ourselves and did the design, distribution, and data analysis, and are happy to share the results with the community.
More blog posts are forthcoming, with analysis of more specific topics in the survey results, and more great quotes from the thousands of lines of comments your fellow Haskellers kindly wrote.
Based on the survey results we will continue and even enhance our commitments to Stack and to Haskell training, technical staffing, and professional services.
The old 2015 Haskell User Survey — see how far we’ve come – Click Here
Learn more about our Haskell engineering assistance and consulting
Subscribe to our blog via email
Email subscriptions come from our Atom feed and are handled by Blogtrottr. You will only receive notifications of blog posts, and can unsubscribe any time.