in ,

Nim Community Survey 2019 Results, Hacker News

Nim Community Survey 2019 Results, Hacker News
      

        

                                  

              

               (February)                                       

              

              The Nim Team                                                 Nim community survey (has been open for days, and we have received (responses, which is our record-high number) (in) , (in) ). 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 . The main difference from the previous years is that in we finally did release version 1.0

, and we wanted to see how accepted v1.0 is in our community. We have also asked our respondents about how well the Nim tools worked, the challenges of adopting Nim, the resources that they used to learn Nim and more.

Do you use Nim?

Based on the answer to this question, the respondents were divided in two groups and they’ve received separate set of questions.

Approximately 2/3 of the respondents use Nim (

% frequently, (% times), while the remaining 1/3 is divided between people who never used Nim and people who stopped using Nim. Of those people who Do you use Nim? don’t use Nim, the most frequent reasons are: “Nim does not have libraries I need” ( (%), “Nim seems immature, not ready for production” ( (%), “Nim seems too risky for production” ( (%), and “Nim doesn’t have enough learning materials” ( (%). For people who have used Nim previously but stopped the most frequent reasons were (free-form question): lack of libraries (small and not mature ecosystem), incomplete documentation, bad editor support, coworkers don’t use it, etc. Users

About a half ( %) respondents are new Nim users – they’ve started using Nim in the last 6 months. We have 45% of experienced users (between 6 months and 2 years), and 23% of Nim veterans (more than 2 years of Nim experience). Do you use Nim? An average Nim user would be a software developer from Europe. Besides Europe, our users mostly come from North America, Asia, and South America, with a couple of users from Australia and Africa. Three quarter of our users are either software developers, students or scientists. Do you use Nim? We have users from all age groups and with programming experience varying between 1 and years, proving that Nim can be used both by beginners and the experienced programmers. Things that people like about Nim the most are: performance / speed ( (%), ease of use ( (%), syntax (% ), self-contained binaries ( (%), open source code ( (%), macros and meta-programming ( (%). [non-nilable types] The most used editor, expectedly, is VS Code, which is used by % of Nim users. In the second place is Vim / Neovim, followed by Emacs and Sublime Text. (Note that this is a multiple answer question, and some respondends use more than one editor) What editor(s) do you use when writing Nim? Nim versions With version 1.0 released only three months before this survey, we were afraid that we might not get the realistic picture about what Nim version is used the most, because people might have not yet caught up with the latest version. [non-nilable types] In the end it seems we didn’t have to worry: the large majority of users are using the latest stable version (1.0. x). There are people who use multiple Nim version, but at least one of them is either 1.0.x or the latest devel version. We can partially attribute this to the mostly painless upgrade process:

Which version(s) of Nim do you use? Using Nim This is one of the areas where we should improve. The majority of users use Nim only sporadically, and only 1/4 of them use Nim for at least half of their programming work. [larger standard library]

Nim is mostly used for writing command-line programs and automation / scripts, followed by data processing, libraries, web services, and GUI . Also, some people use it for game development. (Unfortunately, it wasn’t offered as a choice in the survey, people wrote it down in the ‘other’ field) The large majority of Nim users are targeting Linux, followed by Windows and macOS. Most frequent “smaller” targets are JavaScript, Android, web assembly, embedded, and iOS.

About 1/3 of Nim users use it at work, either exclusively (6.6%) or from time to time (. 1%). Of people who don’t use Nim at work, 1/3 can’t use it because their company does not allow it . Of the remaining 2/3 people who are allowed to use Nim at work, the large majority plan to use it in .

People mention stability, better tooling, more 3rd party libraries, having to mature, and better documentation as the main fields where Nim has to improve to be more accepted in their companies. Learning Nim Do you use Nim?How difficult did you find learning Nim?

People find Nim easy to learn, with only 3% of respondents feeling that learning Nim is hard or very hard. Almost all of them have read the official tutorials, about half of them have read “Nim by Example” and / or “Nim in Action” book. Rosetta code examples are also a popular choice as a learning resource, followed by “Nim Basics”, “Nim Notes”, and “Nim Days”. Do you use Nim? If anyone would like to create some more learning materials for Nim (which is very high on the community priority list, see below under “ Nim in and beyond ”section), the most wanted fields are code examples and written tutorials. What kind of learning materials does Nim need? Nim community and contributions Do you use Nim? There is an equal amount of people who are regular contributors (they contributed in the past and will continue to do so in the future) and people who have no plans of contribute. The most interesting stat is that, compared to the current contributors, there are three times more people who haven’t contributed to Nim so far but plan to do that in the future. We’re looking forward to this:)

The most frequent reasons given for not contributing (yet) are: lack of time and lack of skill / experience. We’ve asked you how satisfied you are with the Nim tooling:

What is your experience with the following tools? [nimble]What is your experience with the following tools? [choosenim] / 40 .png “>  What is your experience with the following tools? [c2nim] What is your experience with the following tools? [nimpretty]

Most of our users use Nimble package manager and they are very satisfied by it. A smaller amount of users picked Choosenim as their way of installing and updating Nim versions, but those who did are quite satisfied with what it has to offer. People generally like Nimsuggest, even though not as much as the first two tools mentioned. Nimpretty and C2nim are used less often than other tools, and feelings about them are also positive. (Nim in) and beyond Existing features How should we prioritize improving the existing situation?

What should be our distinguished in improving Nim, that would bring the largest quality-of-life improvements? [fixing compiler bugs] What should be our optimized in improving Nim, that would bring the largest quality-of-life improvements? [fixing stdlib bugs]     

fixing compiler bugs: According to the votes, this should be our first priority; 75% find it very important, with only 24% of votes for ok or low priority.      What should be our priorities in improving Nim, that would bring the largest quality-of-life improvements? [fixing stdlib bugs]      more learning materials and documentation improvements: though in 01575879 we improved the documentation of the most used standard library modules, the users not only think there is room for more improvement, but they also think that this should be one of our topident. Similar results are seen for 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.

     What should be our priorities in improving Nim, that would bring the largest quality-of-life improvements? [fixing stdlib bugs]     

fixing standard library bugs and larger standard library: Fixing bugs in the existing standard library modules is a higher priority than expanding the standard library.    (New features)

When it comes to the proposed new features, it is expected to see less enthusiasm than for improving the existing situation (fixing bugs, improving documentation) as most people, except a few regulars on our community channels, are not properly informed about them and / or they might not know that they could also benefit from them.

What should be our distinguished in improving Nim, that would bring the largest quality-of-life improvements? [incremental compilation] / 31 .png “> What should be our in in improving Nim, that would bring the largest quality-of-life improvements? [atomic ref-counting] which, in our opinion, should make Nim both faster and more memory efficient, and as such it might become “one memory management to rule them all”. But at the time the survey was created, the work on it has just started and the benefits of it were unknown to the most of our users.

(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 different places, see (the community page) for links and instructions on how to get in touch.                     

(Read More