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?

  • @[email protected]
    link
    fedilink
    41 year ago

    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.

    • @[email protected]
      link
      fedilink
      English
      01 year ago

      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 :)

  • @[email protected]
    link
    fedilink
    English
    21 year ago

    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.