Live data from Hacker News

Nim 1.2

nim-lang.org

31–40 of 130 posts

Re: Nim 1.2

#31

I've been doing the nim track on exercism.io (no affiliation, just a user) for the last two weeks. The mentors on the track have been fantastic. If you're looking for a "solve a problem and get some external feedback" approach to learning the language it's pretty good.

"exercism.io" is such a great name!

Re: Nim 1.2

#32

Earlier quoted context omitted.

It uses a rather primitive garbage-collector though, right?

As others have said, Nim has plugabble garbage collectors, some are quite advanced. In addition there is active work on a swift like reference counting, lifetime based memory management option. This will be suitable for hard real-time use cases.

Isn't it announced here in this release : --gc:arc and linked explanatory video https://www.youtube.com/watch?v=yA32Wxl59wo ?

Re: Nim 1.2

#34

Dup is very interesting to me. Does that mean that in Nim all functions will be impure by default, and that it's considered idiomatic to modify the input? I guess it's nice that they're trying to make behavior consistent. It just seems like the opposite of the recent directions I've seen other languages take.

I haven't played with nim for a few months, but only parameters with var will get mutated. I suspect you want to use someone else's cursed function and don't want to poison your blessed code

Re: Nim 1.2

#35
post #18

By far my favourite feature of this release, dark mode in docs: https://nim-lang.org/docs/lib.html

I feel like dark mode is a sign that people care. I think it's a user feature that is easy to do, but not done often. Mostly done by people who care. It brings so much polish to the experience.

It can be done poorly as well, like in Facebook / Google apps on Apple devices. They feel very unintegrated into the rest of the OS.

Re: Nim 1.2

#36
post #10

I really with more people used NIM for web development. It really seems like the best of all worlds (e.g. perf, developer ergonomics, productivity, etc).

What advantage does it bring that Kotlin hasn't?

Having only played a little with both (Kotlin and Nim), I enjoy Kotlin syntax but overall it feels as heavy as Java (need to setup an IDE for even getting started, choose and understand some package manager, slow compile times, etc.)

Nim feels as lightweight as Go, but with great syntax. The main thing holding me back now is the lack of libraries, but it's definitely on my radar.

Re: Nim 1.2

#38
> If you were relying on some edge case and/or buggy behaviour which is now fixed, try if --useVersion:1.0 gives you back the results you expect to see. If that doesn’t work and you need the old behaviour, please open an issue in our bug tracker and we will try to make it work in future bugfix releases

So useVersion doesn't simply checkout the old codebase, but they still promise to maintain all prior version's bugs? Seems like a losing battle to me... why not just tell people relying on version 1.0 behaviour to use version 1.0 and create tooling to make sure switching between versions is easy (a. la. nvm)?

Re: Nim 1.2

#39

Very excited to see gc:arc make it into stable.

For the layman Nim dev, would you say "always use gc:arc" is a safe bet?

> would you say "always use gc:arc" is a safe bet?

This is the first release to offer `--gc:arc` so there are still some rough edges, but I would follow @treeform's and @rayman22201's advice from sibling comments: give it a try, it might work for you without any problems, and if not - report it.

The long-term plan is to make it the default.

Re: Nim 1.2

#40
post #38

> If you were relying on some edge case and/or buggy behaviour which is now fixed, try if --useVersion:1.0 gives you back the results you expect to see. If that doesn’t work and you need the old behaviour, please open an issue in our bug tracker and we will try to make it work in future bugfix releases So useVersion doesn't simply checkout the old codebase, but they still promise to maintain all prior version's bugs?…

My impression was that using "choosenim" switching between versions is easy already, but I might be missing something.
Post reply on HN