What's Nim good for?

Fudoshin ️🏳️‍🌈@feddit.uk to General Programming Discussion@lemmy.ml – 17 points –

I fancy learning a new language. I've got experience in Python, PHP, Ruby, Bash and many years ago Java, Haskell and C++. Though I'm absolute dogshit at system languages generally. I GET pointers but I fucking hate having to think about them.

Is Nim nice? Is it better than Rust? I like being a contrarian so I'd rather not learn Rust since it's too fashionable right now. But Nim seems to have that independent, cool streak but still niche. It also seems a little bit like Python but with low level stuff slapped in.

I fancy doing something like some of the following:

  • TUI/ncurses pacman app.
  • Taskade terminal app.
  • Network scanning tool.
  • USB midi tool.
  • Kitchen sink that gargles my balls (optional)

So how is Nim for this? Thoughts? Feelings?

5

I notice there's no Lisp on your experience list. I think you better do CL or Scheme (or Emacs even?) instead. :P

Learning lots of different languages is great. Lisp, Haskell, and Assembly especially changed the way I think about code in any language.

I like Rust, but if you did Haskell, the type system is going to feel like a limited version of that. The borrow checker is a cool, unique thing to try out though.

Nim is interesting, but I don't think it has any unique features that would encourage me to try out. Zig is another one that might be worth considering. It felt a bit like C with Lispy metaprogramming, but it's been a while since I did anything with it.

The borrow checker is a cool, unique thing to try out though.

Although... In Rust you don't try the borrow checker, the borrow checker tries you :)

If you put enough effort into it you can any language to do anything.

I've got no input into Nim but iirc Nitter is written in it, and I plan to customise a self hosted Nitter to spit out prettier RSS feeds one day.