2020 State of Haskell Survey results
The fourth annual State of Haskell Survey closed last week. This post will graph the responses, analyze them, and compare them to previous years. You may be interested in similar posts from 2019, 2018, and 2017.
The number of survey responses has stayed remarkably consistent through the years. This year I received 1,348 responses. Last year it was 1,211. In 2018: 1,361. And the first year got 1,335. To everyone who filled out the survey: Thank you!
Unfortunately this year there was a bug in the code that processed submissions. For questions that allowed multiple answers, only one of the answer choices was recorded. For example if you selected both GHC and GHCJS as compilers that you use, only one of them would be present in your submission. Once I noticed the bug I quickly fixed it, but anything submitted within the first 24 hours was affected by this bug. In order to avoid confusion, I have separated the results from these potentially wrong submissions. I deeply regret the bug and will make sure that it doesn’t happen next year.
You can download the responses as a JSON or CSV file. Both are licensed under the ODbL.
-
Haskell usage
- What is your email address?
- Do you use Haskell?
- If you stopped using Haskell, how long did you use it before you stopped?
- If you do not use Haskell, why not?
- How long have you been using Haskell?
- How frequently do you use Haskell?
- How would you rate your proficiency in Haskell?
- Where do you use Haskell?
- Do you use Haskell at work?
- If you do not use Haskell at work, why not?
- Which programming languages other than Haskell are you fluent in?
- Which types of software do you develop with Haskell?
- Which industries do you use Haskell in?
- Projects
-
Compilers
- Which Haskell compilers do you use?
- Which installation methods do you use for your Haskell compiler?
- Has upgrading your Haskell compiler broken your code in the last year?
- How has upgrading your Haskell compiler broken your code in the last year?
- Which versions of GHC do you use?
- Which language extensions would you like to be enabled by default?
- How important do you feel it would be to have a new version of the Haskell language standard?
- Tooling
- Infrastructure
- Community
-
Feelings
- I feel welcome in the Haskell community.
- I am satisfied with Haskell as a language.
- I am satisfied with Haskell's compilers, such as GHC.
- I am satisfied with Haskell's build tools, such as Cabal.
- I am satisfied with Haskell's package repositories, such as Hackage.
- I can find Haskell libraries for the things that I need.
- I think Haskell libraries are high quality.
- I have a good understanding of Haskell best practices.
- I think Haskell libraries are well documented.
- I can easily compare competing Haskell libraries to select the best one.
- I think that Haskell libraries are easy to use.
- I think that Haskell libraries provide a stable API.
- I think that Haskell libraries work well together.
- I think that software written in Haskell is easy to maintain.
- Once my Haskell program compiles, it generally does what I intended.
- I think that Haskell libraries perform well.
- Haskell's performance meets my needs.
- I can easily reason about the performance of my Haskell code.
- I would recommend using Haskell to others.
- I would prefer to use Haskell for my next new project.
- Haskell is working well for my team.
- Haskell is critical to my company's success.
- As a candidate, I can easily find Haskell jobs.
- As a hiring manager, I can easily find qualified Haskell candidates.
-
Demographics
- Which country do you live in?
- How old are you?
- What is your gender?
- Do you identify as transgender?
- Are you a student?
- What is the highest level of education you have completed?
- What is your employment status?
- How large is the company you work for?
- How many years have you been coding?
- How many years have you been coding professionally?
- Do you code as a hobby?
- Have you contributed to any open source projects?
- Meta
- Free response
Haskell usage
What is your email address?
Providing an email address was optional this year.
Do you use Haskell?
Optional. Single select.
If you stopped using Haskell, how long did you use it before you stopped?
Optional. Single select.
If you do not use Haskell, why not?
Optional. Multi select. Allowed 'other'.
How long have you been using Haskell?
Optional. Single select.
How frequently do you use Haskell?
Optional. Single select.
How would you rate your proficiency in Haskell?
Optional. Single select.
Where do you use Haskell?
Optional. Multi select. Did not allow 'other'.
Do you use Haskell at work?
Optional. Single select.
If you do not use Haskell at work, why not?
Optional. Multi select. Allowed 'other'.
Which programming languages other than Haskell are you fluent in?
Optional. Multi select. Allowed 'other'.
Which types of software do you develop with Haskell?
Optional. Multi select. Allowed 'other'.
Which industries do you use Haskell in?
Optional. Multi select. Allowed 'other'.
Projects
How many Haskell projects do you contribute to?
Optional. Single select.
What is the total size of all the Haskell projects you contribute to?
Optional. Single select.
Which platforms do you develop Haskell on?
Optional. Multi select. Allowed 'other'.
Which platforms do you target?
Optional. Multi select. Allowed 'other'.
Compilers
Which Haskell compilers do you use?
Optional. Multi select. Allowed 'other'.
Which installation methods do you use for your Haskell compiler?
Optional. Multi select. Allowed 'other'.
Has upgrading your Haskell compiler broken your code in the last year?
Optional. Single select.
How has upgrading your Haskell compiler broken your code in the last year?
Optional. Multi select. Allowed 'other'.
Which versions of GHC do you use?
Optional. Multi select. Allowed 'other'.
Which language extensions would you like to be enabled by default?
Optional. Multi select. Did not allow 'other'.
How important do you feel it would be to have a new version of the Haskell language standard?
Optional. Single select.
Tooling
Which build tools do you use for Haskell?
Optional. Multi select. Allowed 'other'.
Which editors do you use for Haskell?
Optional. Multi select. Allowed 'other'.
Which version control systems do you use for Haskell?
Optional. Multi select. Allowed 'other'.
Where do you get Haskell packages from?
Optional. Multi select. Allowed 'other'.
Which tools do you use to test Haskell code?
Optional. Multi select. Allowed 'other'.
Which tools do you use to benchmark Haskell code?
Optional. Multi select. Allowed 'other'.
Infrastructure
Which tools do you use to deploy Haskell applications?
Optional. Multi select. Allowed 'other'.
Where do you deploy Haskell applications?
Optional. Multi select. Allowed 'other'.
Community
Where do you interact with the Haskell community?
Optional. Multi select. Allowed 'other'.
Which of the following Haskell topics would you like to see more written about?
Optional. Multi select. Allowed 'other'.
Feelings
I feel welcome in the Haskell community.
Optional. Single select.
I am satisfied with Haskell as a language.
Optional. Single select.
I am satisfied with Haskell's compilers, such as GHC.
Optional. Single select.
I am satisfied with Haskell's build tools, such as Cabal.
Optional. Single select.
I am satisfied with Haskell's package repositories, such as Hackage.
Optional. Single select.
I can find Haskell libraries for the things that I need.
Optional. Single select.
I think Haskell libraries are high quality.
Optional. Single select.
I have a good understanding of Haskell best practices.
Optional. Single select.
I think Haskell libraries are well documented.
Optional. Single select.
I can easily compare competing Haskell libraries to select the best one.
Optional. Single select.
I think that Haskell libraries are easy to use.
Optional. Single select.
I think that Haskell libraries provide a stable API.
Optional. Single select.
I think that Haskell libraries work well together.
Optional. Single select.
I think that software written in Haskell is easy to maintain.
Optional. Single select.
Once my Haskell program compiles, it generally does what I intended.
Optional. Single select.
I think that Haskell libraries perform well.
Optional. Single select.
Haskell's performance meets my needs.
Optional. Single select.
I can easily reason about the performance of my Haskell code.
Optional. Single select.
I would recommend using Haskell to others.
Optional. Single select.
I would prefer to use Haskell for my next new project.
Optional. Single select.
Haskell is working well for my team.
Optional. Single select.
Haskell is critical to my company's success.
Optional. Single select.
As a candidate, I can easily find Haskell jobs.
Optional. Single select.
As a hiring manager, I can easily find qualified Haskell candidates.
Optional. Single select.
Demographics
Which country do you live in?
Optional. Single select.
How old are you?
Optional. Single select.
What is your gender?
Optional. Single select.
Do you identify as transgender?
Optional. Single select.
Are you a student?
Optional. Single select.
What is the highest level of education you have completed?
Optional. Single select.
What is your employment status?
Optional. Single select.
How large is the company you work for?
Optional. Single select.
How many years have you been coding?
Optional. Single select.
How many years have you been coding professionally?
Optional. Single select.
Do you code as a hobby?
Optional. Single select.
Have you contributed to any open source projects?
Optional. Single select.
Meta
Did you take any previous surveys?
Optional. Multi select. Did not allow 'other'.
How did you hear about this survey?
Optional. Single select.
Free response
If you wanted to convince someone to use Haskell, what would you say?
Optional. Free response answers were collected but not analyzed.
If you could change one thing about Haskell, what would it be?
Optional. Free response answers were collected but not analyzed.