Skip to content

Comment on Returning to Nim from Python and Rustparent

Comments

There is not much point in “being simple”, as essential complexity has to live somewhere. I much prefer that living in some compiler-enforced construct than in hand-written conventions. Go is terrible because it doesn’t let you use the former way at all.

What I've seen with the current generation of languages with a lot of compiler-enforced guarantees is that they introduce a lot of needless complexity to the vast majority of problems, which are very often simple.

Overdoing monadic constructs is probably the biggest offender here, but Rust (even though I like the design overall) lifetime checking will usually also cost you way more time getting right than just using a GC (if you don't need complicated concurrency).

Main point being, it's not that easy to contribute to libraries written in these.

I believe that it is a different axis - GC solves the whole concept on a different level (runtime), but where they choose to not take those tradeoffs that complexity has to live somewhere.

Monadic constructs are just a convention though, I think it is different.

GC languages just move the complexity around. I've never done it but I've heard GC tuning is an incredibly difficult problem.

It is a trivial problem to solve at runtime, so it definitely decreases complexity.

Also, you really don’t have to GC tune almost ever (hell, most runtimes don’t even expose you the knobs)

While I agree with you, the OP still makes a good point that simplicity of a language also has a strong impact on the ecosystem; like it or not.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.