Nim in 2017: A short recap

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

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 times module, 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 alloc and dealloc are 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.

Nim livestreams

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!