Hacker News new | ask | show | jobs
by dhruvrajvanshi 481 days ago
> How come it is in demand?

Because it's a complicated language for building extremely low level things, when you have no other choice. IMO it's not the right tool for high level stuff (even though it does have some stuff which higher level languages should probably borrow).

The only other language that directly competes with Rust IMO is C++, which is equally full of symbol soup.

2 comments

> IMO it's not the right tool for high level stuff

I thought that for a long time. But as time passes and I spend more time in languages like Typescript (Semi-Type Script more accurately) and Swift the more I yearn for Rust.

It is not the right tool for scripting, true.

I think most server type software can trade off the borrow checker for a GC while still benefiting from other Rust stuff.

IMO there's still need for a higher level Rust where you don't need that last 20% of the performance and control.

Some people say that OCaml is the high level rust, but I think it's got a lot of gaps which rust doesn't.

Where OCaml lost me was the packaging and building story. Dear Lord am I spoilt by Cargo.

Nice language otherwise.

Are you referring to dune (building) and/or opam?
Yeah absolutely. Cargo is one of the highlights of Rust. Completely no nonsense.
Yeah I feel that, not the entire language but, many of its choices, like error handling, sum types (with exhaustive enum matching) especially when writing in python.
Yeah this is the stuff I meant when I said high level languages should borrow from Rust.

It's also good to remind people that these things were borrowed by Rust from other languages too. Primarily the ML family of languages.

I find it fine for high-level stuff as well. I never get complaining about syntax (in any language).
Thats your opinion and I respect it. Especially the bit about complaining about syntax. There's no ther language directly competing with rust which had less syntax.

My opinion is that in Rust you have to make decisions on certain things which are take n for you by the garbage collector in other languages.

Should you store a reference or value in your struct? You can't just change it without modifying other places. I understand that this gives you the control to get the final 20% of performance in certain places but it's still lower level than other languages.

You could say just spam Arc everywhere and forget about references, but that itself is a low level decision that you make.

Syntax matters though, just like how some people do not like Lisp because of its parentheses.