Skip to content

Latest commit

 

History

History
4927 lines (4921 loc) · 162 KB

2021-11-16-haskell-survey-results.markdown

File metadata and controls

4927 lines (4921 loc) · 162 KB
title
2021 State of Haskell Survey Results

The fifth annual State of Haskell Survey closed this week. This post will graph the responses, analyze them, and compare them to previous years. You may be interested in similar posts from [2020][], [2019][], [2018][], and [2017][].

This year the survey received fewer responses than previous years. Compared to last year, it's down by about 15%.

Year Responses
2021 1152
2020 1348
2019 1211
2018 1361
2017 1335

You can download the responses as a [JSON][] or [CSV][] file. Both are licensed under the [ODbL][].

<style> .row { position: relative; } .row:hover { background: #cbc9e2; } .bar { height: 100%; left: 0; max-width: 100%; position: absolute; top: 0; } .purple { background: #9e9ac8; } .blue { background: #67a9cf; } .red { background: #ef8a62; } .percent, .count, .choice { display: inline-block; position: relative; } .percent, .count { text-align: right; width: 3em; } .choice { padding-left: 1em; } </style>
  1. Survey
    1. When did you submit your survey response?
    2. Did you provide an email address?
  2. Haskell usage
    1. Do you use Haskell?
    2. If you stopped using Haskell, how long did you use it before you stopped?
    3. If you do not use Haskell, why not?
    4. How many years have you been using Haskell?
    5. How frequently do you use Haskell?
    6. How would you rate your proficiency in Haskell?
    7. Where do you use Haskell?
    8. Do you use Haskell at work?
    9. If you do not use Haskell at work, why not?
    10. Which programming languages other than Haskell are you fluent in?
    11. Which types of software do you develop with Haskell?
    12. Which industries do you use Haskell in?
  3. Projects
    1. How many Haskell projects do you contribute to?
    2. What is the total size of all the Haskell projects you contribute to?
    3. Which platforms do you develop Haskell on?
    4. Which platforms do you target?
  4. Compilers
    1. Which Haskell compilers do you use?
    2. Which installation methods do you use for your Haskell compiler?
    3. Has upgrading your Haskell compiler broken your code in the last year?
    4. How has upgrading your Haskell compiler broken your code in the last year?
    5. Which versions of GHC do you use?
    6. Which language extensions would you like to be enabled by default?
    7. How important do you feel it would be to have a new version of the Haskell language standard?
  5. Tooling
    1. Which build tools do you use for Haskell?
    2. Which editors do you use for Haskell?
    3. Which IDEs do you use for Haskell?
    4. Which version control systems do you use for Haskell?
    5. Where do you get Haskell packages from?
    6. Which tools do you use to test Haskell code?
    7. Which tools do you use to benchmark Haskell code?
  6. Infrastructure
    1. Which tools do you use to deploy Haskell applications?
    2. Where do you deploy Haskell applications?
  7. Community
    1. Where do you interact with the Haskell community?
    2. Which of the following Haskell topics would you like to see more written about?
  8. Feelings
    1. I would prefer to use Haskell for my next new project.
    2. I would recommend using Haskell to others.
    3. I am satisfied with Haskell as a language.
    4. Once my Haskell program compiles, it generally does what I intended.
    5. I think that software written in Haskell is easy to maintain.
    6. I am satisfied with Haskell's compilers, such as GHC.
    7. I feel welcome in the Haskell community.
    8. Haskell's performance meets my needs.
    9. I am satisfied with Haskell's package repositories, such as Hackage.
    10. I think Haskell libraries are high quality.
    11. I think that Haskell libraries perform well.
    12. Haskell is working well for my team.
    13. I can find Haskell libraries for the things that I need.
    14. I think that Haskell libraries work well together.
    15. I think that Haskell libraries provide a stable API.
    16. I am satisfied with Haskell's build tools, such as Cabal.
    17. Haskell is critical to my company's success.
    18. I have a good understanding of Haskell best practices.
    19. I think that Haskell libraries are easy to use.
    20. As a hiring manager, I can easily find qualified Haskell candidates.
    21. I think Haskell libraries are well documented.
    22. I can easily compare competing Haskell libraries to select the best one.
    23. As a candidate, I can easily find Haskell jobs.
    24. I can easily reason about the performance of my Haskell code.
  9. Demographics
    1. Which country do you live in?
    2. Do you consider yourself a member of an underrepresented or marginalized group in technology?
    3. Do you feel your belonging to an underrepresented or marginalized group in technology makes it difficult for you to participate in the Haskell community?
    4. Are you a student?
    5. What is the highest level of education you have completed?
    6. What is your employment status?
    7. How large is the company you work for?
    8. How many years have you been coding?
    9. How many years have you been coding professionally?
    10. Do you code as a hobby?
    11. Have you contributed to any open source projects?
  10. Meta
    1. Did you take any previous surveys?
    2. How did you hear about this survey?
  11. Free response
    1. If you wanted to convince someone to use Haskell, what would you say?
    2. If you could change one thing about Haskell, what would it be?

Survey

When did you respond to the survey?

28%
326
2021-11-01
30%
350
2021-11-02
6%
70
2021-11-03
6%
71
2021-11-04
4%
41
2021-11-05
2%
25
2021-11-06
2%
18
2021-11-07
5%
54
2021-11-08
3%
32
2021-11-09
3%
37
2021-11-10
3%
30
2021-11-11
2%
27
2021-11-12
1%
16
2021-11-13
3%
35
2021-11-14
2%
20
2021-11-15

Did you provide an email address?

54%
623
No
46%
529
Yes

Haskell usage

Do you use Haskell?

Optional. Single select.

86%
986
Yes
11%
122
No, but I used to
3%
33
No, I never have

If you stopped using Haskell, how long did you use it before you stopped?

Optional. Single select.

0%
5
Less than 1 day
1%
9
1 day to 1 week
3%
29
1 week to 1 month
5%
53
1 month to 1 year
6%
72
More than 1 year

If you do not use Haskell, why not?

Optional. Multi select.

11%
131
My company doesn't use Haskell
4%
51
Haskell's documentation is not good enough
4%
46
Haskell is too hard to learn
4%
44
Haskell lacks critical libraries
3%
35
Haskell lacks critical tools
2%
23
Haskell's performance is not good enough
1%
15
Haskell lacks critical features
1%
14
Haskell does not support the platforms I need
4%
45
Other

How many years have you been using Haskell?

Optional. Single select.

14%
157
Less than 1
13%
154
1 to 2
11%
127
2 to 3
11%
121
3 to 4
9%
108
4 to 5
8%
96
5 to 6
5%
56
6 to 7
5%
54
7 to 8
3%
31
8 to 9
5%
53
9 to 10
4%
49
10 to 11
2%
18
11 to 12
2%
26
12 to 13
1%
11
13 to 14
1%
10
14 to 15
4%
43
More than 15

How frequently do you use Haskell?

Optional. Single select.

41%
470
Daily
26%
297
Weekly
16%
180
Monthly
4%
48
Yearly
8%
97
Rarely

How would you rate your proficiency in Haskell?

Optional. Single select.

1%
12
I can't write or read Haskell
19%
214
I can write simple programs in Haskell
24%
271
I can write useful, production-ready code but it is a struggle
44%
507
I am productive writing Haskell
12%
135
I'm an expert

Where do you use Haskell?

Optional. Multi select.

79%
906
Home
50%
574
Industry
17%
199
Academia
7%
83
School

Do you use Haskell at work?

Optional. Single select.

32%
363
Yes, most of the time
18%
212
Yes, some of the time
1%
11
No, but my company does
36%
416
No, but I'd like to
3%
37
No, and I don't want to

If you do not use Haskell at work, why not?

Optional. Multi select.

32%
367
My company doesn't use Haskell
10%
120
It's too hard to hire Haskell developers
7%
81
Haskell is too hard to learn
7%
76
Haskell lacks critical libraries
6%
69
Haskell's documentation is not good enough
5%
54
Haskell lacks critical tools
4%
43
Haskell does not support the platforms I need
2%
28
Haskell's performance is not good enough
2%
21
Haskell lacks critical features
5%
59
Other

Which programming languages other than Haskell are you fluent in?

Optional. Multi select.

53%
609
Python
47%
547
JavaScript
44%
508
C
41%
475
Java
29%
337
C++
26%
303
Shell
26%
303
TypeScript
20%
236
Rust
17%
192
Elm
16%
188
C#
15%
170
Scala
13%
147
PureScript
13%
145
Ruby
12%
137
Go
11%
121
PHP
7%
84
Clojure
7%
82
Lua
7%
82
Ocaml
7%
78
Assembly
7%
78
Kotlin
6%
65
Perl
5%
63
F#
5%
53
Erlang
4%
49
R
4%
48
Matlab
4%
47
Swift
10%
119
Other

Which types of software do you develop with Haskell?

Optional. Multi select.

62%
720
Command-line programs (CLI)
47%
537
API services (returning non-HTML)
35%
405
Libraries or frameworks
33%
384
Data processing
28%
322
Automation or scripts
28%
318
Web services (returning HTML)
19%
215
Agents or daemons
9%
99
Desktop programs (GUI)
8%
97
Other

Which industries do you use Haskell in?

Optional. Multi select.

23%
267
Web
14%
164
Academia
13%
150
Banking or finance
10%
113
Education
9%
101
Science
7%
82
Commerce or retail
6%
74
Cryptocurrency
5%
52
Gaming
3%
37
Healthcare or medical
2%
28
Embedded
2%
23
Mobile
2%
21
Government
11%
130
Other

Projects

How many Haskell projects do you contribute to?

Optional. Single select.

26%
299
0
15%
176
1
14%
162
2
9%
105
3
3%
37
4
4%
44
5
8%
93
6 to 10
2%
27
11 to 20
3%
33
More than 20

What is the total size of all the Haskell projects you contribute to?

Optional. Single select.

12%
136
Less than 1,000 lines of code
20%
226
Between 1,000 and 9,999 lines of code
20%
235
Between 10,000 and 99,999 lines of code
13%
145
More than 100,000 lines of code

Which platforms do you develop Haskell on?

Optional. Multi select.

78%
898
Linux
34%
389
MacOS
15%
172
Windows
3%
31
BSD
1%
9
Other

Which platforms do you target?

Optional. Multi select.

86%
994
Linux
34%
387
MacOS
26%
299
Windows
5%
58
BSD
3%
37
Android
3%
35
iOS
2%
22
Other

Compilers

Which Haskell compilers do you use?

Optional. Multi select.

97%
1119
GHC
8%
94
GHCJS
1%
16
Other

Which installation methods do you use for your Haskell compiler?

Optional. Multi select.

50%
579
Stack
34%
389
ghcup
34%
388
Nix
14%
165
Operating system package
9%
98
Haskell Platform
7%
83
Official binaries
6%
65
Homebrew
6%
64
Source
3%
35
Chocolatey
2%
20
Other

Has upgrading your Haskell compiler broken your code in the last year?

Optional. Single select.

50%
576
No
28%
327
Yes

How has upgrading your Haskell compiler broken your code in the last year?

Optional. Multi select.

18%
212
Incompatible dependencies
16%
184
Expected changes, such as the MonadFail proposal
6%
74
New warnings
4%
43
Compiler bugs
3%
39
Unexpected changes
2%
21
Other

Which versions of GHC do you use?

Optional. Multi select.

10%
119
> 9.2
16%
189
9.2
19%
223
9.0
65%
745
8.10.x
19%
217
8.8.x
13%
155
8.6.x
4%
47
8.4.x
1%
17
8.2.x
1%
14
< 8.2

Which language extensions would you like to be enabled by default?

Optional. Multi select.

+46%
-2%
+529
-19
LambdaCase
+41%
-5%
+475
-56
OverloadedStrings
+40%
-2%
+463
-21
DeriveGeneric
+37%
-2%
+427
-22
DeriveFunctor
+36%
-3%
+414
-39
GADTs
+36%
-2%
+412
-26
BangPatterns
+34%
-2%
+391
-24
DerivingVia
+33%
-2%
+376
-26
DeriveFoldable
+31%
-3%
+358
-35
ScopedTypeVariables
+31%
-2%
+358
-23
TypeApplications
+31%
-3%
+356
-36
FlexibleInstances
+31%
-3%
+352
-33
FlexibleContexts
+30%
-2%
+343
-27
DeriveTraversable
+30%
-3%
+343
-33
GeneralizedNewtypeDeriving
+30%
-2%
+342
-24
DerivingStrategies
+28%
-3%
+317
-34
RankNTypes
+27%
-4%
+314
-51
DataKinds
+27%
-3%
+307
-30
MultiParamTypeClasses
+26%
-3%
+295
-38
TupleSections
+25%
-4%
+286
-43
TypeFamilies
+24%
-2%
+277
-28
KindSignatures
+24%
-3%
+273
-30
StandaloneDeriving
+23%
-4%
+261
-48
MultiWayIf
+22%
-3%
+249
-31
TypeOperators
+21%
-3%
+244
-39
DeriveDataTypeable
+21%
-3%
+240
-39
EmptyCase
+21%
-4%
+238
-42
ViewPatterns
+20%
-3%
+225
-40
DeriveLift
+19%
-3%
+224
-36
GADTSyntax
+19%
-4%
+222
-46
ConstraintKinds
+19%
-3%
+220
-30
NumericUnderscores
+19%
-5%
+218
-59
NamedFieldPuns
+19%
-4%
+215
-46
ExplicitForAll
+18%
-4%
+213
-47
FunctionalDependencies
+18%
-7%
+211
-81
DeriveAnyClass
+18%
-3%
+209
-38
InstanceSigs
+18%
-4%
+204
-48
BinaryLiterals
+17%
-6%
+200
-74
RecordWildCards
+17%
-10%
+199
-112
ApplicativeDo
+16%
-3%
+185
-39
PatternSynonyms
+16%
-4%
+182
-45
ExistentialQuantification
+16%
-3%
+181
-34
StandaloneKindSignatures
+14%
-7%
+167
-75
DuplicateRecordFields
+14%
-7%
+166
-80
BlockArguments
+14%
-4%
+160
-50
DefaultSignatures
+14%
-4%
+158
-50
PolyKinds
+12%
-5%
+133
-52
ImportQualifiedPost
+11%
-5%
+130
-57
Rank2Types
+10%
-6%
+118
-70
OverloadedRecordDot
+10%
-8%
+116
-97
OverloadedLists
+10%
-6%
+114
-66
DisambiguateRecordFields
+10%
-6%
+112
-72
OverloadedLabels
+10%
-5%
+112
-54
TypeFamilyDependencies
+9%
-5%
+107
-53
HexFloatLiterals
+9%
-5%
+104
-52
NegativeLiterals
+9%
-6%
+103
-67
NamedWildCards
+9%
-7%
+101
-83
UnicodeSyntax
+9%
-6%
+98
-66
PartialTypeSignatures
+8%
-4%
+95
-49
QuantifiedConstraints
+8%
-11%
+94
-124
TemplateHaskell
+8%
-6%
+93
-71
OverloadedRecordUpdate
+8%
-5%
+93
-53
TypeSynonymInstances
+8%
-7%
+88
-77
QuasiQuotes
+7%
-6%
+82
-66
TypeInType
+7%
-5%
+80
-54
PackageImports
+6%
-6%
+74
-70
NoStarIsType
+6%
-4%
+74
-47
RoleAnnotations
+6%
-5%
+68
-54
NullaryTypeClasses
+6%
-11%
+67
-125
NoImplicitPrelude
+5%
-7%
+60
-84
RecursiveDo
+5%
-5%
+57
-56
ConstrainedClassMethods
+5%
-6%
+56
-70
UnboxedTuples
+5%
-14%
+55
-161
AllowAmbiguousTypes
+5%
-5%
+55
-63
ExplicitNamespaces
+5%
-5%
+54
-57
NumDecimals
+5%
-12%
+54
-134
StrictData
+5%
-6%
+53
-70
UnboxedSums
+4%
-8%
+50
-88
MonadComprehensions
+4%
-8%
+49
-90
ForeignFunctionInterface
+4%
-9%
+49
-106
LinearTypes
+4%
-8%
+49
-93
MagicHash
+4%
-12%
+47
-138
Arrows
+4%
-6%
+47
-68
ParallelListComp
+4%
-5%
+45
-61
LiberalTypeSynonyms
+4%
-5%
+45
-59
UnliftedDatatypes
+4%
-5%
+45
-58
UnliftedNewtypes
+4%
-7%
+43
-78
NoMonomorphismRestriction
+4%
-14%
+41
-167
Cpp
+3%
-12%
+39
-138
UndecidableInstances
+3%
-8%
+38
-89
ImpredicativeTypes
+3%
-9%
+36
-104
CApiFFI
+3%
-6%
+36
-72
PostfixOperators
+3%
-9%
+34
-106
TemplateHaskellQuotes
+3%
-12%
+33
-135
OverlappingInstances
+3%
-8%
+32
-87
NoFieldSelectors
+3%
-13%
+30
-151
Strict
+2%
-10%
+28
-112
DatatypeContexts
+2%
-7%
+22
-79
ExtendedDefaultRules
+2%
-7%
+22
-75
MonoLocalBinds
+2%
-11%
+20
-130
ImplicitParams
+1%
-7%
+17
-78
TransformListComp
+1%
-6%
+16
-71
StaticPointers
+1%
-7%
+12
-81
InterruptibleFFI
+1%
-10%
+12
-119
RebindableSyntax
+1%
-11%
+11
-122
UndecidableSuperClasses
+1%
-11%
+10
-132
NPlusKPatterns
+1%
-14%
+8
-160
IncoherentInstances
+1%
-8%
+8
-92
NoTraditionalRecordSyntax
+1%
-10%
+7
-115
Unsafe
+0%
-8%
+5
-92
NoMonadFailDesugaring
+0%
-9%
+5
-103
Trustworthy
+0%
-10%
+2
-116
NoEmptyDataDecls
+0%
-9%
+2
-101
NoPatternGuards

How important do you feel it would be to have a new version of the Haskell language standard?

Optional. Single select.

12%
136
Extremely important
16%
185
Very important
30%
349
Moderately important
15%
178
Slightly important
8%
95
Not at all important

Tooling

Which build tools do you use for Haskell?

Optional. Multi select.

62%
709
Cabal
60%
693
Stack
34%
389
Nix
10%
116
haskell.nix
10%
111
Make
5%
62
Shake
3%
37
ghc-pkg
2%
26
Bazel
1%
14
Other

Which editors do you use for Haskell?

Optional. Multi select.

45%
522
Visual Studio Code
40%
460
Vi family
29%
331
Emacs family
4%
44
Sublime Text
4%
41
IntelliJ IDEA
2%
23
Atom
3%
33
Other

Which IDEs do you use for Haskell?

Optional. Multi select.

64%
741
Haskell Language Server (HLS)
19%
221
ghcid
4%
49
IntelliJ
4%
45
ghcide
1%
17
Intero
2%
24
Other

Which version control systems do you use for Haskell?

Optional. Multi select.

95%
1098
Git
2%
21
Darcs
1%
10
Mercurial
1%
10
Other

Where do you get Haskell packages from?

Optional. Multi select.

69%
800
Hackage
54%
620
Stackage
30%
345
Nix
21%
238
Source
1%
11
Other

Which tools do you use to test Haskell code?

Optional. Multi select.

53%
605
QuickCheck
45%
515
Hspec
26%
299
HUnit
25%
285
Tasty
18%
204
Hedgehog
4%
41
SmallCheck
3%
39
Haskell Test Framework
2%
21
Other

Which tools do you use to benchmark Haskell code?

Optional. Multi select.

28%
322
Criterion
5%
52
Bench
3%
38
Gauge
3%
34
Other

Infrastructure

Which tools do you use to deploy Haskell applications?

Optional. Multi select.

37%
421
Static binaries
34%
397
Docker images
22%
257
Nix expressions
14%
165
Dynamic binaries
1%
11
Other

Where do you deploy Haskell applications?

Optional. Multi select.

38%
435
Self or company owned servers
23%
268
Amazon Web Services
7%
83
Google Cloud
6%
69
Digital Ocean
4%
42
Heroku
3%
32
Microsoft Azure
5%
53
Other

Community

Where do you interact with the Haskell community?

Optional. Multi select.

54%
624
Reddit
52%
594
GitHub
27%
315
Twitter
20%
233
Stack Overflow
19%
222
Discord
19%
222
Slack
17%
198
IRC
16%
186
Conferences (commercial)
15%
168
Discourse
13%
153
Mailing lists
13%
149
Conferences (academic)
10%
120
Meetups
8%
91
Telegram
7%
75
Matrix/Riot
6%
67
Lobsters
2%
27
Mastodon
2%
28
Zulip
2%
20
Gitter
2%
22
Other

Which of the following Haskell topics would you like to see more written about?

Optional. Multi select.

56%
649
Best practices
42%
485
Design patterns
42%
480
Application architectures
37%
430
Performance analysis
33%
385
Debugging how-tos
32%
370
Library walkthroughs
30%
340
Production infrastructure
28%
318
Tooling choices
26%
296
Case studies
25%
283
Algorithm implementations
24%
272
Project maintenance
23%
269
Testing
22%
255
GUIs
20%
227
Web development
19%
224
Project setup
18%
205
Beginner fundamentals
16%
182
Machine learning
15%
170
Game development
11%
130
Mobile development
9%
98
Comparisons to other languages
4%
43
Other

Feelings

I would prefer to use Haskell for my next new project.

Optional. Single select.

54%
622
Strongly agree
26%
295
Agree
8%
96
Neutral
3%
38
Disagree
2%
21
Strongly disagree

I would recommend using Haskell to others.

Optional. Single select.

44%
508
Strongly agree
36%
418
Agree
9%
105
Neutral
3%
36
Disagree
1%
11
Strongly disagree

I am satisfied with Haskell as a language.

Optional. Single select.

33%
381
Strongly agree
48%
556
Agree
8%
95
Neutral
5%
54
Disagree
1%
9
Strongly disagree

Once my Haskell program compiles, it generally does what I intended.

Optional. Single select.

33%
385
Strongly agree
45%
521
Agree
10%
118
Neutral
4%
47
Disagree
1%
6
Strongly disagree

I think that software written in Haskell is easy to maintain.

Optional. Single select.

34%
393
Strongly agree
40%
461
Agree
11%
129
Neutral
2%
19
Disagree
1%
12
Strongly disagree

I am satisfied with Haskell's compilers, such as GHC.

Optional. Single select.

31%
353
Strongly agree
48%
554
Agree
9%
103
Neutral
5%
52
Disagree
1%
9
Strongly disagree

I feel welcome in the Haskell community.

Optional. Single select.

32%
374
Strongly agree
37%
431
Agree
16%
183
Neutral
3%
31
Disagree
1%
15
Strongly disagree

Haskell's performance meets my needs.

Optional. Single select.

27%
310
Strongly agree
47%
541
Agree
11%
124
Neutral
4%
44
Disagree
1%
12
Strongly disagree

I am satisfied with Haskell's package repositories, such as Hackage.

Optional. Single select.

17%
200
Strongly agree
49%
566
Agree
17%
199
Neutral
6%
73
Disagree
1%
15
Strongly disagree

I think Haskell libraries are high quality.

Optional. Single select.

16%
190
Strongly agree
47%
537
Agree
22%
250
Neutral
5%
56
Disagree
2%
19
Strongly disagree

I think that Haskell libraries perform well.

Optional. Single select.

11%
125
Strongly agree
47%
536
Agree
22%
258
Neutral
2%
28
Disagree
1%
10
Strongly disagree

Haskell is working well for my team.

Optional. Single select.

21%
247
Strongly agree
17%
199
Agree
11%
129
Neutral
2%
24
Disagree
1%
14
Strongly disagree

I can find Haskell libraries for the things that I need.

Optional. Single select.

11%
127
Strongly agree
47%
536
Agree
23%
266
Neutral
10%
110
Disagree
2%
25
Strongly disagree

I think that Haskell libraries work well together.

Optional. Single select.

8%
93
Strongly agree
39%
447
Agree
29%
337
Neutral
8%
93
Disagree
1%
16
Strongly disagree

I think that Haskell libraries provide a stable API.

Optional. Single select.

7%
76
Strongly agree
38%
437
Agree
30%
348
Neutral
9%
99
Disagree
2%
20
Strongly disagree

I am satisfied with Haskell's build tools, such as Cabal.

Optional. Single select.

10%
116
Strongly agree
39%
449
Agree
23%
270
Neutral
15%
173
Disagree
4%
47
Strongly disagree

Haskell is critical to my company's success.

Optional. Single select.

15%
176
Strongly agree
12%
144
Agree
13%
145
Neutral
7%
78
Disagree
6%
68
Strongly disagree

I have a good understanding of Haskell best practices.

Optional. Single select.

7%
85
Strongly agree
34%
395
Agree
27%
316
Neutral
19%
219
Disagree
5%
60
Strongly disagree

I think that Haskell libraries are easy to use.

Optional. Single select.

4%
44
Strongly agree
28%
320
Agree
39%
446
Neutral
16%
182
Disagree
4%
43
Strongly disagree

As a hiring manager, I can easily find qualified Haskell candidates.

Optional. Single select.

2%
25
Strongly agree
5%
58
Agree
11%
124
Neutral
6%
68
Disagree
4%
46
Strongly disagree

I think Haskell libraries are well documented.

Optional. Single select.

4%
43
Strongly agree
26%
295
Agree
32%
371
Neutral
22%
253
Disagree
8%
97
Strongly disagree

I can easily compare competing Haskell libraries to select the best one.

Optional. Single select.

3%
37
Strongly agree
17%
195
Agree
30%
345
Neutral
31%
357
Disagree
8%
94
Strongly disagree

As a candidate, I can easily find Haskell jobs.

Optional. Single select.

3%
36
Strongly agree
11%
124
Agree
16%
182
Neutral
17%
195
Disagree
16%
181
Strongly disagree

I can easily reason about the performance of my Haskell code.

Optional. Single select.

2%
28
Strongly agree
14%
164
Agree
30%
343
Neutral
31%
352
Disagree
11%
126
Strongly disagree

Demographics

Which country do you live in?

Optional. Single select.

24%
273
United States
9%
101
Germany
6%
74
United Kingdom
5%
57
Russia
4%
46
Canada
4%
43
Australia
4%
41
France
3%
39
Netherlands
3%
36
Sweden
3%
30
Japan
2%
27
Poland
2%
26
India
2%
22
Finland
2%
19
Norway
1%
17
Italy
1%
16
Austria
1%
16
Brazil
1%
15
Czech Republic
1%
15
Spain
1%
15
Ukraine
1%
14
China
1%
13
Belgium
1%
12
Denmark
1%
12
Switzerland
1%
8
Turkey
1%
8
Singapore
1%
6
Bulgaria
1%
6
Romania
0%
5
Israel
0%
5
South Korea
0%
5
New Zealand
0%
4
Argentina
0%
4
Belarus
0%
4
Croatia
0%
4
Ecuador
0%
4
Indonesia
0%
4
Ireland
0%
3
Hungary
0%
3
Iran
0%
3
South Africa
0%
2
Colombia
0%
2
Egypt
0%
2
Estonia
0%
2
Greece
0%
2
Kazakhstan
0%
2
Kenya
0%
2
Mexico
0%
2
Pakistan
0%
2
Peru
0%
2
Serbia and Montenegro
0%
2
Slovakia
0%
2
Thailand
0%
2
Vietnam
0%
1
Chile
0%
1
Honduras
0%
1
Hong Kong
0%
1
Iraq
0%
1
Lithuania
0%
1
Luxembourg
0%
1
Malaysia
0%
1
Nigeria
0%
1
Philippines
0%
1
Portugal
0%
1
Puerto Rico
0%
1
Taiwan
0%
1
Uganda
0%
1
Venezuela
0%
1
Western Sahara
0%
1
Zimbabwe

Do you consider yourself a member of an underrepresented or marginalized group in technology?

Optional. Multi select.

9%
109
Lesbian, gay, bisexual, queer or otherwise non-heterosexual
6%
64
Older or younger than the average developers I know
5%
53
Political beliefs
4%
44
Trans
3%
40
Woman or perceived as a woman
4%
43
Disabled or person with disability (including physical, mental, and other)
3%
38
Educational background
3%
38
Language
3%
34
Non-binary gender
3%
34
Racial or ethnic minority
3%
30
Religious beliefs
2%
26
Yes, but I prefer not to say which
2%
24
Cultural beliefs
2%
22
Other

Do you feel your belonging to an underrepresented or marginalized group in technology makes it difficult for you to participate in the Haskell community?

Optional. Single select.

20%
233
Never
6%
73
Sometimes
2%
19
Often

Are you a student?

Optional. Single select.

71%
818
No
14%
159
Yes, full time
5%
58
Yes, part time

What is the highest level of education you have completed?

Optional. Single select.

2%
21
Less than high school diploma
7%
86
High school diploma
9%
106
Some college
1%
14
Associate degree
34%
395
Bachelor's degree
27%
310
Master's degree
2%
25
Professional degree
11%
130
Doctoral degree

What is your employment status?

Optional. Single select.

67%
770
Employed full time
9%
101
Employed part time
7%
85
Self employed
4%
48
Not employed, and not looking for work
4%
47
Not employed, but looking for work
1%
8
Retired

How large is the company you work for?

Optional. Single select.

11%
125
Fewer than 10 employees
27%
310
10 to 99 employees
20%
225
100 to 999 employees
23%
265
More than 1,000 employees

How many years have you been coding?

Optional. Single select.

6%
73
0 to 4 years
23%
269
5 to 9 years
22%
257
10 to 14 years
16%
179
15 to 19 years
12%
134
20 to 24 years
7%
77
25 to 29 years
9%
103
30 or more years

How many years have you been coding professionally?

Optional. Single select.

28%
328
0 to 4 years
26%
294
5 to 9 years
15%
178
10 to 14 years
9%
99
15 to 19 years
7%
81
20 to 24 years
3%
31
25 to 29 years
2%
25
30 or more years

Do you code as a hobby?

Optional. Single select.

89%
1020
Yes
5%
62
No

Have you contributed to any open source projects?

Optional. Single select.

77%
886
Yes
17%
194
No

Meta

Did you take any previous surveys?

Optional. Multi select.

41%
467
2020
32%
374
2019
18%
207
2018
12%
135
2017

How did you hear about this survey?

Optional. Multi select.

32%
365
Reddit
16%
183
Twitter
15%
178
Haskell Weekly
8%
88
Slack
7%
83
Lobsters
4%
50
Discord
4%
48
Telegram
3%
36
Discourse
3%
30
In person
3%
29
Mailing lists
2%
19
IRC
1%
9
Matrix/Riot
1%
8
Mastodon
0%
4
GitHub
4%
45
Other

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.

[2020]: {% post_url 2020-11-22-haskell-survey-results %} [2019]: {% post_url 2019-11-16-haskell-survey-results %} [2018]: {% post_url 2018-11-18-2018-state-of-haskell-survey-results %} [2017]: {% post_url 2017-11-15-2017-state-of-haskell-survey-results %} [JSON]: /static/pages/2021-state-of-haskell-survey-results.json.zip [CSV]: /static/pages/2021-state-of-haskell-survey-results.csv.zip [ODbL]: https://opendatacommons.org/licenses/odbl/