summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--web/assets/news/images/survey/10_needs.pngbin0 -> 39707 bytes
-rw-r--r--web/assets/news/images/survey/book.pngbin0 -> 73632 bytes
-rw-r--r--web/assets/news/images/survey/book_opinion.pngbin0 -> 60929 bytes
-rw-r--r--web/assets/news/images/survey/breakage.pngbin0 -> 42872 bytes
-rw-r--r--web/assets/news/images/survey/difficulty_fixing_breakage.pngbin0 -> 31324 bytes
-rw-r--r--web/assets/news/images/survey/domains.pngbin0 -> 59065 bytes
-rw-r--r--web/assets/news/images/survey/ex_nim.pngbin0 -> 45423 bytes
-rw-r--r--web/assets/news/images/survey/languages.pngbin0 -> 84839 bytes
-rw-r--r--web/assets/news/images/survey/learning_resources.pngbin0 -> 39711 bytes
-rw-r--r--web/assets/news/images/survey/nim_appeal.pngbin0 -> 54043 bytes
-rw-r--r--web/assets/news/images/survey/nim_displeasing.pngbin0 -> 52584 bytes
-rw-r--r--web/assets/news/images/survey/nim_domains.pngbin0 -> 58405 bytes
-rw-r--r--web/assets/news/images/survey/nimble_opinion.pngbin0 -> 41325 bytes
-rw-r--r--web/assets/news/images/survey/non_user.pngbin0 -> 45695 bytes
-rw-r--r--web/assets/style.css9
-rw-r--r--web/news/nim_community_survey_results.rst379
16 files changed, 388 insertions, 0 deletions
diff --git a/web/assets/news/images/survey/10_needs.png b/web/assets/news/images/survey/10_needs.png
new file mode 100644
index 000000000..67d568552
--- /dev/null
+++ b/web/assets/news/images/survey/10_needs.png
Binary files differdiff --git a/web/assets/news/images/survey/book.png b/web/assets/news/images/survey/book.png
new file mode 100644
index 000000000..32a5ad40c
--- /dev/null
+++ b/web/assets/news/images/survey/book.png
Binary files differdiff --git a/web/assets/news/images/survey/book_opinion.png b/web/assets/news/images/survey/book_opinion.png
new file mode 100644
index 000000000..9675388fa
--- /dev/null
+++ b/web/assets/news/images/survey/book_opinion.png
Binary files differdiff --git a/web/assets/news/images/survey/breakage.png b/web/assets/news/images/survey/breakage.png
new file mode 100644
index 000000000..76977c91e
--- /dev/null
+++ b/web/assets/news/images/survey/breakage.png
Binary files differdiff --git a/web/assets/news/images/survey/difficulty_fixing_breakage.png b/web/assets/news/images/survey/difficulty_fixing_breakage.png
new file mode 100644
index 000000000..022aa00ed
--- /dev/null
+++ b/web/assets/news/images/survey/difficulty_fixing_breakage.png
Binary files differdiff --git a/web/assets/news/images/survey/domains.png b/web/assets/news/images/survey/domains.png
new file mode 100644
index 000000000..50b1ed7ff
--- /dev/null
+++ b/web/assets/news/images/survey/domains.png
Binary files differdiff --git a/web/assets/news/images/survey/ex_nim.png b/web/assets/news/images/survey/ex_nim.png
new file mode 100644
index 000000000..50082ea8b
--- /dev/null
+++ b/web/assets/news/images/survey/ex_nim.png
Binary files differdiff --git a/web/assets/news/images/survey/languages.png b/web/assets/news/images/survey/languages.png
new file mode 100644
index 000000000..db35f9bd4
--- /dev/null
+++ b/web/assets/news/images/survey/languages.png
Binary files differdiff --git a/web/assets/news/images/survey/learning_resources.png b/web/assets/news/images/survey/learning_resources.png
new file mode 100644
index 000000000..39f533ad0
--- /dev/null
+++ b/web/assets/news/images/survey/learning_resources.png
Binary files differdiff --git a/web/assets/news/images/survey/nim_appeal.png b/web/assets/news/images/survey/nim_appeal.png
new file mode 100644
index 000000000..4f53e1447
--- /dev/null
+++ b/web/assets/news/images/survey/nim_appeal.png
Binary files differdiff --git a/web/assets/news/images/survey/nim_displeasing.png b/web/assets/news/images/survey/nim_displeasing.png
new file mode 100644
index 000000000..b7232df04
--- /dev/null
+++ b/web/assets/news/images/survey/nim_displeasing.png
Binary files differdiff --git a/web/assets/news/images/survey/nim_domains.png b/web/assets/news/images/survey/nim_domains.png
new file mode 100644
index 000000000..2d8fc6652
--- /dev/null
+++ b/web/assets/news/images/survey/nim_domains.png
Binary files differdiff --git a/web/assets/news/images/survey/nimble_opinion.png b/web/assets/news/images/survey/nimble_opinion.png
new file mode 100644
index 000000000..3fe76326e
--- /dev/null
+++ b/web/assets/news/images/survey/nimble_opinion.png
Binary files differdiff --git a/web/assets/news/images/survey/non_user.png b/web/assets/news/images/survey/non_user.png
new file mode 100644
index 000000000..b5324b69c
--- /dev/null
+++ b/web/assets/news/images/survey/non_user.png
Binary files differdiff --git a/web/assets/style.css b/web/assets/style.css
index af32fad07..691c11b20 100644
--- a/web/assets/style.css
+++ b/web/assets/style.css
@@ -611,6 +611,15 @@ p.lastUpdate {
   color: #6d6d6d;
 }
 
+/* quotes */
+
+blockquote {
+  padding: 0px 8px;
+  margin: 10px 0px;
+  border-left: 2px solid rgb(61, 61, 61);
+  color: rgb(109, 109, 109);
+}
+
 /* News articles */
 
 .metadata {
diff --git a/web/news/nim_community_survey_results.rst b/web/news/nim_community_survey_results.rst
index 49656f20a..2d169d24d 100644
--- a/web/news/nim_community_survey_results.rst
+++ b/web/news/nim_community_survey_results.rst
@@ -311,7 +311,386 @@ release schedule is not regular or frequent.
 Once we go past the 1.0 release, we expect to see much less use of the unstable
 ``devel`` branch.
 
+Has upgrading to a new version of the Nim compiler broken your code?
+____________________________________________________________________
 
+.. raw::html
+
+  <a href="../assets/news/images/survey/breakage.png">
+    <img src="../assets/news/images/survey/breakage.png" alt="Breakage" style="width:100%"/>
+  </a>
+
+Despite the unstable nature of Nim in the lead up to version 1.0, whenever
+we make breaking changes we do our best to deprecate things and ensure that
+old code continues to work for our users. Of course sometimes this is not
+possible and other times it is simply easier to add a breaking change.
+
+This question was asked to determine how much our user base is affected by
+breaking changes between Nim versions. We decided to have three possible
+answers for this question in order to give us an idea how frequent the
+breakage was.
+
+It's incredible to see that over 50% of our users have not experienced any
+breakage after upgrading. We expect this number to increase significantly
+after version 1.0 is released. Of the users that did experience breakage,
+over 80% of them said that it was a rare occurrence.
+
+In comparison to Rust, our results show that there was a higher percentage of
+users experiencing breakage as a result of an upgrade. This is to be expected,
+because Nim is still in its pre-1.0 period, whereas Rust 1.0 has been released
+over a year ago now.
+
+Unfortunately while we are still in this pre-1.0 period, releases will likely
+introduce breaking changes as we refine certain aspects of Nim such as its
+standard library so the number of users experiencing breaking changes may
+increase.
+
+If so, how much work did it take to fix it?
+___________________________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/difficulty_fixing_breakage.png">
+    <img src="../assets/news/images/survey/difficulty_fixing_breakage.png" alt="difficulty fixing breakage" style="width:100%"/>
+  </a>
+
+Thankfully most of the breakage experienced by Nim users was very easy to fix.
+
+
+If you used Nimble, do you like it?
+___________________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/nimble_opinion.png">
+    <img src="../assets/news/images/survey/nimble_opinion.png" alt="Do you like Nimble?" style="width:100%"/>
+  </a>
+
+Nimble is the Nim package manager, a tool that is very important in Nim's
+ecosystem as it allows developers to easily install dependencies for their
+software.
+
+The majority of respondents rated it as a 4, showing us that the majority does
+like Nimble. With over 55% rating it a 4 or 5. This percentage isn't as
+overwhelming as the 94.1% of users that rated Cargo a 4 or 5 in the Rust
+survey. Based on these results I think that we definitely need to do a
+better job with Nimble.
+
+In our next survey, it might be a good idea to ask more questions about Nimble
+to determine how exactly it can be improved.
+
+What aspects of Nim do you find most appealing?
+_______________________________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/nim_appeal.png">
+    <img src="../assets/news/images/survey/nim_appeal.png" alt="What aspects of Nim do you find most appealing?" style="width:100%"/>
+  </a>
+
+We were interested to know the features of Nim that appeal most to our users.
+More than 80% of our respondents selected "Execution Speed" as one of the
+features that appeal to them. With "Development Speed" and "Readability"
+tying for second place and "Metaprogramming" at third place.
+
+The options given to our respondents are rather predictable,
+they do show us which of these features have the highest appeal though.
+What's more interesting are the "Other" answers.
+
+By far the most popular "Other" answer was related to Nim's compilation to C.
+Many users mentioned that they like how easy it is to interface with C
+libraries and the great portability that compiling to C offers.
+
+What aspects of Nim do you find most displeasing?
+_________________________________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/nim_displeasing.png">
+    <img src="../assets/news/images/survey/nim_displeasing.png" alt="What aspects of Nim do you find most displeasing?" style="width:100%"/>
+  </a>
+
+It was only natural to ask this question. This is almost a perfect opposite of
+the previous answers, with almost 50% of respondents selecting "Debugging Tools"
+as the most displeasing aspect of Nim. With "Documentation" and "Testing Tools"
+in second and third place respectively. There is also a much larger number of
+"Other" answers to this question.
+
+The "Other" answers for this question vary a lot. Here is a selection of
+them, ordered by frequency:
+
+* Small community size.
+* Lack of in-depth tutorials.
+* Quality of error messages.
+* Forward declarations and no cyclic imports.
+* Bugs in the standard library.
+* No good IDE.
+* No REPL.
+* No major version.
+* Bugs in the compiler.
+* Lack of libraries.
+* Difficulty installing on Windows.
+* Non-intuitive semantics of various constructs.
+* Lack of immutable collections.
+* Async/await not being production ready.
+* Lack of shared collections for threads.
+* No Haxe target.
+* Memory safety.
+
+We hope that we can improve these things with time. Many of these issues are
+already being worked on, including the removal of the need for forward
+declarations. Some of these issues like our small community size are difficult
+to fix, but we will nonetheless do our best.
+
+
+Previous Nim users
+~~~~~~~~~~~~~~~~~~
+
+For users that have used Nim before but decided against using it, we asked just
+one specific question.
+
+Why did you stop using Nim?
+___________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/ex_nim.png">
+    <img src="../assets/news/images/survey/ex_nim.png" alt="I stopped using Nim because..." style="width:100%"/>
+  </a>
+
+Again, this question got a lot of "Other" answers. Apart from that, the
+most popular reason for leaving Nim is that it is not stable. Followed by the
+a lack of needed libraries and packages and the instability of the
+standard library.
+
+* Lack of IDE support.
+* Style insensitive.
+* Documentation.
+* Dislike the syntax.
+* Community is too small.
+* Missing language features (for example RAII).
+* No opportunities to use it at work.
+* Messy standard library.
+
+The first item, "Lack of IDE support", was mentioned by multiple respondents.
+In the future we should look into ensuring that major IDEs have plugins which
+enable easy Nim development.
+
+Based on some of the "Other" answers, it seems that many of the respondents
+have not used Nim for very long, for example many respondents complained about
+installation issues which they would have run into before getting a chance to
+use Nim. Because of this I would consider them not
+ex-Nim users but developers that have not had a chance to try Nim fully.
+Next time we should also ask how long the respondent has used Nim for to get a
+better idea of whether they had a chance to use Nim for extended periods of
+time.
+
+Non-Nim users
+~~~~~~~~~~~~~
+
+We also wanted to know the reasons why developers decided against using Nim.
+
+Why do you not use Nim?
+_______________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/non_user.png">
+    <img src="../assets/news/images/survey/non_user.png" alt="I don't use Nim because..." style="width:100%"/>
+  </a>
+
+The most common reason that people have for not using Nim is that it is
+not yet ready for production. Thankfully this will improve with time.
+IDE support is also a prominent factor just as we've seen in previous results.
+
+There is also a lot of "Other" answers, let's have a look at a selection of
+them. Some of the most prominent ones, in order of frequency, include:
+
+* No time to use/learn it
+* Syntax
+* Documentation is incomplete
+* Garbage Collection
+* Prefer functional paradigm
+* Small community
+* Style insensitivity/Case insensitivity
+
+One respondent made a very good suggestion: they said that the
+"Do you use Nim?" question should have included "No, but I intend to" as
+an answer. Definitely something we will do in the next survey. Indeed, many
+respondents mentioned that they were planning on trying out Nim but that they
+just have no time to do so, this is very encouraging!
+
+Learning Resources
+~~~~~~~~~~~~~~~~~~
+
+We wanted to get an idea of how Nim users are learning Nim. Every respondent
+answered this question, no matter what they answered for the "Do you use Nim?"
+question.
+
+Which learning resources, if any, did you use to learn Nim?
+___________________________________________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/learning_resources.png">
+    <img src="../assets/news/images/survey/learning_resources.png" alt="learning resources" style="width:100%"/>
+  </a>
+
+The idea behind this question was to understand which learning resources
+were most popular among our user base. The
+`Nim tutorial <http://nim-lang.org/docs/tut1.html>`_ is by far the most
+popular. In previous questions, we saw respondents mentioning that the Nim
+tutorial does not go into enough detail about Nim. Thanks to this information
+we can come to the conclusion that the tutorial needs to be improved
+significantly to make sure that our users get the necessary information to use
+Nim effectivelly.
+
+Indeed, many users also use the
+`Nim manual <http://nim-lang.org/docs/manual.html>`_ to learn Nim.
+This manual has been
+written as a specification and so is not ideal for teaching Nim. Many of
+the concepts in the Nim manual need to be explained in a lot more detail in
+the Nim tutorial.
+
+Of course, it's exciting to see our respondents using other materials to learn
+Nim. In particular I am excited to see that over 15% of the respondents have
+used
+`Nim in Action <https://manning.com/books/nim-in-action?a_aid=niminaction&a_bid=78a27e81>`_
+to learn Nim. I expect that more and more users will pick up the book after it
+is fully published.
+
+Nim in Action
+_____________
+
+As the author of
+`Nim in Action <https://manning.com/books/nim-in-action?a_aid=niminaction&a_bid=78a27e81>`_,
+I wanted to get some statistics surrounding
+my book. With this in mind, I have created some questions relating to it.
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/book.png">
+    <img src="../assets/news/images/survey/book.png" alt="Have you read Nim in Action?" style="width:100%"/>
+  </a>
+
+It's good to see that over 50% of respondents have read the book or are at least
+planning to read it. Keep in mind that this question was answered by all
+respondents, not just Nim users.
+
+.. container:: standout
+
+  Are you interested in purchasing a copy of
+  `Nim in Action <https://manning.com/books/nim-in-action?a_aid=niminaction&a_bid=78a27e81>`_?
+  If so, you can use code ``wm090316lt`` to get 50% off today only! If you
+  purchase it now you will get access to an early access copy of Nim in Action
+  in eBook form and will be able to take part in the development of this book.
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/book_opinion.png">
+    <img src="../assets/news/images/survey/book_opinion.png" alt="Did you enjoy Nim in Action?" style="width:100%"/>
+  </a>
+
+Of the people that read Nim in Action it's nice to see that almost 70% have
+enjoyed it.
+
+Nim's future
+~~~~~~~~~~~~
+
+What improvements are needed before Nim v1.0 can be released?
+_____________________________________________________________
+
+We were interested to know what our users believe is needed before
+Nim version 1.0 can be released.
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/10_needs.png">
+    <img src="../assets/news/images/survey/10_needs.png" alt="What is needed before 1.0 can be released?" style="width:100%"/>
+  </a>
+
+It appears that the standard library is the biggest concern. With more than half
+of all respondents selecting the "The standard library needs to reviewed and
+any problems with it fixed". This is in fact one of our goals, so it's good
+to see that the majority agrees with us.
+
+A large proportion of users also believes that the language is great as-is
+and that we should focus on stabilising the compiler. This somewhat contradicts
+the majority. But perhaps most of them thought that "The language" excludes the
+standard library.
+
+For this question, we decided to give our respondents a dedicated place to
+give general feedback about what they feel is needed before v1.0 can be
+released. We received over 200 responses to that. Many of these responses
+reflect what we have already seen: that the documentation needs to improve,
+that we need a good Nim IDE, stability for experimental features such as
+concepts, the standard library needs to be cleaned up.
+
+Unfortunately many respondents used this question to say what needs to be fixed
+in Nim in general, not what is definitely necessary before 1.0 can be released.
+
+Community demographics
+~~~~~~~~~~~~~~~~~~~~~~
+
+What domain do you work in currently?
+_____________________________________
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/domains.png">
+    <img src="../assets/news/images/survey/domains.png" alt="Work domains" style="width:100%"/>
+  </a>
+
+
+Nim users are working in a wide variety of domains. It is encouraging to see
+people from so many different backgrounds taking part in this survey.
+
+What programming languages are you most comfortable with?
+_________________________________________________________
+
+
+.. raw::html
+
+  <a href="../assets/news/images/survey/languages.png">
+    <img src="../assets/news/images/survey/languages.png" alt="Programming languages" style="width:100%"/>
+  </a>
+
+Python and C are the top two programming languages that our respondents are
+most comfortable with. This is not altogether surprising.
+
+Last words
+~~~~~~~~~~
+
+At the end of the survey we gave our respondents a chance to speak their mind
+about anything they wish, with a simple question: "Anything else you'd like
+to tell us?"
+
+There was a lot of great feedback given in this question from people who
+obviously really care deeply about Nim. There is too much to outline here,
+but rest assurred that we will take it all into account and do our best to
+act on it.
+
+In addition to feedback, we were also overwhelmed by the amount of positive
+comments in the answers to this
+question. There was a lot of support from the community thanking us for our
+work and determination.
+
+I'll let some quotes speak for themselves:
+
+.. raw::html
+
+  <blockquote>You rock, seriously.</blockquote>
+  <blockquote>Nim rocks! Keep it up! Thank you very much!</blockquote>
+  <blockquote>You've made great progress on the language without any corporate backing, that is amazing. I wish Nim becomes one of the top used languages in a few years.</blockquote>
+  <blockquote>Nim is elegant and wonderful! Keep at it!</blockquote>
 
+Our community is truly brilliant. We thank each and every one of you for
+filling out this survey and hope that you will help us tackle some of the
+challenges that face Nim.
 
+This survey was a good place to give us feedback, but please don't wait for
+the next one. We are always looking to hear more from you and we hope that you
+will participate in discussions relating to this survey as well the future
+of Nim.
 
+Thanks for reading, and have a good day!