Nim in 2017: A short recap
28 December 2017 Dominik Picheta
This year has been filled with some pretty major achievements for us, because of this I decided to write a little article summarising what we’ve accomplished in 2017 and to give a bit of a preview of what’s in store for 2018.
The first Nim book
- Nim in Action, the first Nim programming language book, went into production in late 2016 and I received the first printed copies in the following summer.
- Of course, being the author, I am incredibly proud of this.
- This book is considered “canon” for Nim v1. This means that we will do our best to not break anything that is contained within it for version 1.0. So don’t be afraid to buy a copy thinking that it will be out of date by the time 1.0 is released.
Nim at FOSDEM
- Nim is coming to FOSDEM!
- We are very happy to say that we have been allocated a stand at FOSDEM 2018 in Brussels. A lot of Nim folks (including the Nim creator Andreas Rumpf and myself) will be there to sell t-shirts, books and to promote Nim.
- Join us on 3 & 4 February 2018 in Brussels!
Nim in production
- Reel Valley, a game by Onset Game, written 100% in Nim has been released on Facebook and more recently on Android.
- We now have a wiki page listing multiple companies using Nim in production.
- Companies are searching for Nim programmers.
Work towards v1.0
- 3 releases this year: 0.16.0, 0.17.0 and 0.17.2
- Upcoming release 0.18.0 contains many bug fixes and improvements, in particular
a lot of stdlib changes.
See the current changelog here.
- “Upcoming” async has finally been merged.
- A large revamp of the
timesmodule, with more to come. (Thanks @GULPF)
- Multiple modules have been moved out of the stdlib to Nimble packages. (Thanks @lcrees)
- Fixes to our handling of SSL certificate checks. (Thanks @FedericoCeratto)
- The memory manager now implements the TLSF algorithm with the benefit that
deallocare now O(1) operations.
- Many more changes by our awesome and devoted community.
- Version 1.0 will mark the end of breaking changes to Nim.
This won’t mean that Nim development will cease, many improvements will
continue to be made and your source won’t require any changes to compile
with each Nim release.
- There will be some caveats to this which we will outline in the future.
- We are already very good at exercising restraint when creating breaking changes, often creating a deprecation path to ease the pain of our users. This isn’t always the case though, after v1 is release it will be.
- We wanted to attract more developers to Nim by hosting live coding streams on Twitch.
- Araq hosted livestreams where he worked on the compiler. You might find these useful if you’re interested in compiler development.
- dom96 hosted livestreams where he fixed stdlib bugs, created Nimble packages, and enhanced the Nim IRC bot. You might find these useful if you want to learn how to develop Nim software or fix stdlib bugs.
As always, I’d like to invite you to join our community to give us feedback or just to chill out with us, all the information you need to do so is available on our community page.
Thank you all for your incredible support so far, and have a happy new year!