Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Rust is a wonderful language, but I still have the impression that it is not stable as of 2018. All the toys I've made to play with it during the last years went deprecated quickly, especially if you rely on the ecosystem of packages (web server, database, ...).

In addition, there was this thread: https://internals.rust-lang.org/t/concerned-about-rust-2018-...

All in all, Rust will be great when stable (including the ecosystem).



What do you mean by deprecated? Unsupported dependencies? All the code I've written post-1.0 still compiles correctly (although a lot of it could use an update to use new language capabilities).

I even have a bit of Rust in production at work and I haven't encountered any maintenance issue so far.

Now the ecosystem itself can move pretty fast depending on the dependencies you use, that's true, but that's a different issue. You're never forced to update if you don't want to, you code keeps compiling with newer Rust releases. Compared to most languages I've experienced with, Rust has been very stable post-1.0. And they seem to take that issue very seriously.

The thread you linked might have some truth in it but it seems like the main point is "look, you've had a .2 patch release!" That's not a good thing of course but unless you happened to jump on that new functionality as soon as it got released the impact is rather minor and bugs happen.


> Now the ecosystem itself can move pretty fast depending on the dependencies you use, that's true, but that's a different issue.

Is it? I’m used to languages which bundle a huge set of standard libraries as part of the language.


I think it depends a bit on which in part of the ecosystem you work. I do not do web applications at all, but use Rust for machine learning. Things like ndarray, petgraph, and the Tensorflow bindings have been very stable for me.

The only large change that I had to make over the last year due to ecosystem changes was going from error-chain to failure. Of course, this was not strictly necessary, but failure seems to be more popular now and I generally prefer it over error-chain.


> depends a bit on which in part of the ecosystem you work

This is also my experience. The feeling towards Rust is highly depends on the dependency of choice.

Rust itself is mostly very stable though. I've implemented few pure algorithms in Rust a little over two years ago, and it still compile and runs today without having to change a single letter.

Wish one day I can say the same thing to my other Rust projects :)


> All the toys I've made to play with it during the last years went deprecated quickly

In which sense? That dependencies evolved?


Languages features, dependencies, etc.

For instance one project:

   error[E0010]: allocations are not allowed in constants                          
   error[E0015]: calls in constants are limited to tuple structs and tuple variants
Another:

    error: could not find native static library `brotli`, perhaps an -L flag is missing?
                                                                                
    error: aborting due to previous error                                           
                                                                                
    error: Could not compile `brotli-sys`.                                          
And I'm not talking what happens if you don't fix versions in Cargo.toml.


Allocations were never allowed in constants, so I find that first one quite confusing. Any chance you can share the code?

And the second one is because a system library is missing. You're saying you have it installed, and it used to build, but does no longer?


For first one:

    const characters: Vec<char> = vec!['7', '+', '-', '*', '/', '^', '0'];
For the second, I do have brotli installed (via brew) and I have no idea why it can't find it now. It used to build. Note that I don't use brotli directly but it comes as one of the 274 dependencies (!) of that code. npm again...


Thanks, this is very helpful.

Do you know when the first one ever compiled? I tried it on Rust 1.0, and on every version from 1.20-1.30, and it always failed.

Ah, bummer. I haven't used the brotli lib, but that is unfortunate.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: