What's Nim good for?
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?
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.
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.
USB midi interface in TRS-80 BASIC
The Secret of NIM?