Comment

Comment by wiremine

I learned Nim last year by rewriting some of the core Arduino functionality in C, and then wrapping them in Nim. (I also wanted to better learn C and better understand how Arduino's internals work, thus the convoluted approach)

A few observations:

* The community was very helpful and responsive. I identified a bug in compiling Nim to bare metal C, and it was fixed in 24 hours.

* The C/Nim bindings were a breeze to use, even for a relatively novice C programmer like myself.

* The language is fairly sparse, in a good way. It feels a bit like Go in that regard, but with better metaprogramming support.

* I personally like meaningful, Python-style whitespace, but I could see how that could be a turnoff. But I'd hope people can look beyond that and give the language a try.

* I could _actually_ use Nim to write code for an Arduino Uno, so the project was a success. The firmware sizes weren't that bad, either, which was my biggest concern. Nim's memory management is very flexible, and the ARC system seemed to work great without the need for GC. [1]

[1] https://nim-lang.org/blog/2020/10/15/introduction-to-arc-orc...

parent wiremine 5 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton