Nim Community Survey 2021 Results
14 January 2022 The Nim Team
The Nim community survey 2021 has been open for a month and a half, and we have received 825 responses (compared to 769 last year) – we think this is a large enough sample to draw conclusions about our users and their habits. Before we go into details, we would like to thank all the people who took the time to respond. We really appreciate the feedback!
The goal of this survey was primarily to determine how our community is using Nim, in order to better understand how we should be improving it.
Do you use Nim?
Based on the answer to this question, the respondents were divided into two groups that each received a separate set of questions.
Approximately two thirds of the respondents use Nim (22% frequently, 39% occasionally), while the remaining third is divided between people who never used Nim (22%) and people who stopped using Nim (16%).
Of those people who don’t use Nim, the most frequent reasons are: “Nim seems immature, not ready for production”, “Nim doesn’t have libraries I need”, “Nim seems too risky for production”, and “Nim doesn’t have enough learning materials”.
Users
Compared to the response from last year, our user-base has more Nim experience than before. We have more users that have used Nim for at least two years: 30% this year vs 20% last year, and less new users (people who started using Nim in the last 6 months): 30% this year vs 39% last year.
A typical Nim user, just as in previous years, would be a software developer from Europe.
Besides Europe (more than half of our users), our users mostly come from North America and Asia. A half of our users are software developers (50%), and the next largest group are students (13%, 17% last year).
We have users from all age groups and all levels of programming experience, proving that Nim can be used both by beginners and veteran programmers.
Just as with Nim experience, we are noticing a trend where our users are on average a bit older (26% Nim users are older than 40, 20% younger than 24) than the year before (23% older than 40, 25% younger than 24).
The older age comes with more programming experience too: this year we have with 53% user having at least 10 years of experience, compared to the 45% last year, and just 6% users with less than 2 years of experience, compared to 10% last year.
Same as previously, things that people like about Nim the most are: performance/speed (86%), ease of use (75%), syntax (73%), and self-contained binaries (62%).
VS Code continues to dominate, with 62% of Nim users choosing it in the survey. In the second place is Vim/Neovim (39% combined), followed by Emacs and Sublime Text (10% each).
Nim versions
We’re glad to see that the large majority of users are using the latest stable version (1.6.x).
We can partially attribute this to the mostly painless upgrade process:
Using Nim
This is a statistic that we are never pleased about. Only 16% of our respondents use Nim for the majority of time (60% or more), with more than half of them use Nim only sporadically (20% of time or less).
One of the explanations for the poor Nim usage generally can be explained by these responses: less than 30% of the respondents use Nim at work.
We’re glad to hear that the large majority of people who could use Nim at work, are planning to do so in the near future.
Compared to 2020 responses, we see a slight increase in people targeting Linux, macOS, web assembly and embedded, and a decrease of JavaScript, Android and iOS.
Learning Nim
This year we only wanted to see the responses of Nim-newcomers, to see what learning materials are still “fresh” and still used in 2021, but from the amount of responses we see that even our more experienced users answered this question :)
Almost all of our (new) users have read the official tutorials, and about half of them have read “Nim by Example” and/or the “Nim in Action” book. Rosetta Code examples are also a popular choice as a learning resource, followed by “Nim Basics”, “Nim Days” and “Nim Notes”.
Just like in the previous survey, the most wanted types of learning materials are code examples and written tutorials. If someone in our community is willing to work on Nim, but has no idea what to do, these tutorials would be a good start.
Nim in 2022 and beyond
According to the votes, fixing compiler bugs should be our first priority: 2/3 of our users find it very important, with only 13% of votes for “low priority” and “current situation is ok”. We will continue to work on it, and we appreciate any community effort on this: we already have several individuals continuously helping us with fixing compiler bugs (thank you!), and we’d benefit from more.
Improving the tooling is very high on the priority list for our users (it is higher than in 2020, which was higher than the year before too), and especially for those users who use Nim professionally. We admit that, while we worked on improving other parts of the Nim ecosystem, this area was left behind, and the results reflect that.
We’re happy that our partnership with Status continues, with one of our common goals is to improve the developer tooling.
These results are basically the same as last year (documentation 2020, learning materials 2020). When it comes to learning materials, where we mostly lean on the community content (for this to improve we need your involvement!), people want to see more written tutorials and code examples.
According to respondents, fixing bugs in the existing standard library modules should be higher priority than expanding the standard library. Compared to the last year results (bugs 2020, larger stdlib 2020), it is even more clear that fixing existing bugs is the way to go.
Last words
Thank you to each and every one of you who took the time to answer this survey. Your time is precious and we are deeply thankful that you used it to share your feedback.
Please remember that you do not need to wait for a survey in order to give us feedback; of course you’re more than welcome to wait if you wish, but ideally share your feedback with us immediately. We can be found in various places - see the community page for links and instructions on how to get in touch.
If you would like to help us in our 2022 plans, consider contributing or making a donation. You can donate via:
- Open Collective
- Patreon
- PayPal
- Bitcoin:
bc1qzgw3vsppsa9gu53qyecyu063jfajmjpye3r2h4
- Ethereum:
0xC1d472B409c1bdCd8C0E45515D18F08a55fE9fa8
If you are a company, we also offer commercial support. Please get in touch with us via [email protected]. As a commercial backer, you can decide what features and bugfixes should be prioritized.