State of Reason Survey: Preliminary Results

November
10,
2018
ยท
ocaml,
reason

I'm planning to do some fancy social science analysis of the results, but first I'll just give you a dump of the summary data that came out of this.

First of all, there were 398 responses! Thanks to everyone who contributed :)

Do you use Reason?

  • Yes: 238 (60%)

  • No, but I want to: 106 (27%)

  • No, I've stopped: 38 (10%)

  • No, never: 16 (4%)

What resources do you use for news, getting help, etc?

Top 6 responses

  • Reason Discord (60%)

  • @reasonml twitter account (59%)

  • Reason.town podcast (45%)

  • "Try Reason" playground (41%)

  • Reason.chat forum (35%)

  • Real World OCaml (33%)

Have you helped someone else to learn Reason?

  • No: 182 (60%)

  • Yes: 82 (23%)

  • Yes, several people: 80 (23%)

What topics do you want to hear about on the Reason Town podcast?

Top 3 responses

  • Advanced-level content about Reason/OCaml: 72%

  • Interviews with core Reason/OCaml contributors: 69%

  • News about what's happening in the community: 57%

What topics would you like to hear about at Reason Conferences?

  • "lessons from using Reason in production": 89%

  • coding philosophy / higher-level talks: 68%

  • "I used reason in an unexpected way": 42%

  • how to use (x Reason library): 41%

How do you use Reason?

  • hobby / side projects: 263 (78%)

  • at work, not yet in production: 80 (24%)

  • at work in production: 69 (21%)

What platforms are you developing on?

  • Mac: 77%

  • Linux/BSD: 37%

  • Windows: 11%

What platforms are you targeting?

  • JS on the Web: 319 (93%)

  • Node.js: 132 (39%)

  • React Native: 78 (23%)

  • Desktop native: 69 (20%)

  • iOS: 24 (7%)

  • Android: 20 (6%)

What editor do you use most when writing reason?

  • VSCode: 65%

  • Vim: 15%

  • Atom/Nuclide: 8%

  • Emacs: 7%

  • Sublime: 1%

Which of these do you use together with Reason?

Top 4 responses

  • npm: 85%

  • bsb: 81%

  • webpack: 61%

  • opam: 21%

How long have you been using Reason (not OCaml)?

  • not using / just getting started: 20%

  • under 3 months: 25%

  • under a year: 42%

  • over a year: 11%

  • over two years: 3%

How long have you been using OCaml?

  • never used OCaml (outside of Reason): 73%

  • 0-1 year: 16%

  • 1-3 years: 6%

  • 3-6 years: 3%

  • 6+ years: 2%

What languages, other than Reason/OCaml, are your primary development languages?

Top 7 responses

  • JavaScript: 82%

  • TypeScript: 35%

  • JS + Flow: 30%

  • Python: 23%

  • Java: 14%

  • Elixir: 12%

  • Elm: 10%

How long have you been programming?

  • 0-1 years: 1%

  • 1-3 years: 12%

  • 3-6 years: 25%

  • 6+ years: 63%

What's the most important improvement that would help your team adopt Reason?

Top 6 responses

  • Community resources: 22%

  • Javascript Interop: 17%

  • Docs: 17%

  • Stability: 16.5%

  • IDE Support: 9%

  • Language Features: 7%

What's on your Bucklescript wishlist?

  • Improved JSON handling: 51%

  • Improved JS interop: 45%

  • Better Error messages: 40%

  • Better debugging: 40%

  • A more recent version of OCaml: 39%

What's on your Reason (syntax) wishlist?

  • async/await: 77%

  • sugar for optionals/results: 45%

What's on your Native development wishlist?

  • More documentation: 64%

  • Easier toolchain: 53%

  • More community libraries: 42%

  • Cross-compilation: 41%

  • More recent version of OCaml in bsb-native: 34%

  • Easier interop with C/ObjC: 15%

Which of these libraries do you use?

  • Reason-react: 88%

  • Belt: 63%

  • bs-json: 46%

  • bs-css: 26%

  • reason-apollo: 24%

  • reason-scripts: 19%

  • bs-react-native: 18%

  • reprocessing: 12%

I don't use Reason because (53 responses)

  • Reason doesn't have the libraries I need: 40%

  • Reason seems too risky to use in production: 32%

  • Reason doesn't have enough documentation: 32%

What languages are you fluent in?

(listing languages with >= 5%)

  • English: 94%

  • French: 11%

  • Spanish: 9%

  • German: 8%

  • Russian: 7%

  • Portuguese: 5%

That's all, folks!

Like I said, there's a lot more analysis I want to do, but I've been sitting on this long enough that I just wanted to put something out there.