Live data from Hacker News

Rust 2019 and beyond: limits to some growth

graydon2.dreamwidth.org

1–10 of 237 posts

Re: Rust 2019 and beyond: limits to some growth

#2
I can't agree more with this. I am a long time c++ dev, been to c++ committee meetings. The language is too complicated and inconsistent, and that is now I believe unfixable. I believe no one understands it. New features keep arriving, but you still have to learn everything that came before, for older codebases.

For example, {} style initalisers were added to simplify and "unify" things. Except to make a vector of length 3 you still need to use the old style (3) notation. So now there is just one more thing to learn.

It is much easier to add "one more thing" to a language than it is to later take it out.

Re: Rust 2019 and beyond: limits to some growth

#5
I ran into the Failure crate today. It was hard for me to figure out if it was something official that was going to make its way into the core language or just a third party crate. If the former, should I avoid learning failure patterns that are not using this crate? It sometimes feel like the language is moving too fast for me to learn it.

Re: Rust 2019 and beyond: limits to some growth

#6

I ran into the Failure crate today. It was hard for me to figure out if it was something official that was going to make its way into the core language or just a third party crate. If the former, should I avoid learning failure patterns that are not using this crate? It sometimes feel like the language is moving too fast for me to learn it.

`failure` captures common error patterns in Rust and provided a test bed for experimenting on them while working to improve `trait Error`.

There is an RFC for pulling some of the trait improvements into the language. After that, I believe they plan to continue to iterate on the design of the failure crate.

The general recommendation I make and see from others is that `failure` is far from stable. Feel free to use it in applications but avoid it for libraries.

Re: Rust 2019 and beyond: limits to some growth

#8

I can't agree more with this. I am a long time c++ dev, been to c++ committee meetings. The language is too complicated and inconsistent, and that is now I believe unfixable. I believe no one understands it. New features keep arriving, but you still have to learn everything that came before, for older codebases. For example, {} style initalisers were added to simplify and "unify" things. Except to make a vector of le…

Let’s revisit this when Rust has...

- the number of users

- the amount of mission-critical legacy code that has to compile

- the number of compiler vendors

- age

... comparable to C++’s.

Re: Rust 2019 and beyond: limits to some growth

#9

I can't agree more with this. I am a long time c++ dev, been to c++ committee meetings. The language is too complicated and inconsistent, and that is now I believe unfixable. I believe no one understands it. New features keep arriving, but you still have to learn everything that came before, for older codebases. For example, {} style initalisers were added to simplify and "unify" things. Except to make a vector of le…

I've been dabbling in some Rust lately and as a long time mostly-C++-and-Python-and-some-Java dev I've found it relatively easy to get started with it. Sure, a lot of things are different (e.g. struct+impl vs. classes), many clearly better, some that may/may not be better just different, but overall it seems to me like Rust is relatively easy to pick up coming from C++.

And C++ is usually way uglier and far more complicated. I'm currently reviewing a bunch of code using bleeding edge language features and it is extremely difficult to understand what the code is supposed to do and what it might be doing.

The age of multi-vendored languages like C or C++ for systems programming might be coming to an end. I'd wager this is actually a good thing.

Re: Rust 2019 and beyond: limits to some growth

#10

I can't agree more with this. I am a long time c++ dev, been to c++ committee meetings. The language is too complicated and inconsistent, and that is now I believe unfixable. I believe no one understands it. New features keep arriving, but you still have to learn everything that came before, for older codebases. For example, {} style initalisers were added to simplify and "unify" things. Except to make a vector of le…

Let’s revisit this when Rust has... - the number of users - the amount of mission-critical legacy code that has to compile - the number of compiler vendors - age ... comparable to C++’s.

> ... comparable to C++’s.

When? 2018? 1990?

Post reply on HN