Earlier quoted context omitted.
This sounds like Swift :) (ARC, not tracing GC, but still.)
If Arc counts, then it juste sounds like Rust actually ;).
Rust in 2018: easier to use
221–230 of 305 posts
Re: Rust in 2018: easier to use
#222The error messages are indeed _mostly_ marvelous (and there's an ongoing effort to make them even more marvelous). Often working with `rustc` feels like pair programming for introverts. But here's a question: `rustc` often gives _actionable_ advice - how far can can you get just following that advice? You can make `rustc` happy by following suggestions, but may end up puzzled as to the reasons for the changes it sugg…
Re: Rust in 2018: easier to use
#223This is going to sound weird, but I would like to see a garbage-collected Rust. Take away the borrow checker, and you still have a modern language with UTF-8 support out-of-the-box, algebraic data types, pattern matching, a focus on performance, and great tooling (cargo + rustup = OCaml almost fits the bill (Rust is inspired by OCaml after all), but the tooling around it is lacking to put it mildly.
Re: Rust in 2018: easier to use
#224Earlier quoted context omitted.
Except that number is completely made up. Why do believe it takes ten times as long?
What Rust framework replace Java spring or equivalent, none of them so you have to write everything yourself. Rust doesn't have any ecosystem to write service side services so you're going to spend time by just re implementing a framework.
I do agree that there are holes, and that's part of being a young ecosystem, but I think you're being a bit too pessimistic. I understand this deeply, as I was once too! As things have evolved, my opinions have changed, though.
Re: Rust in 2018: easier to use
#225Earlier quoted context omitted.
`-C panic=abort` compiler option should have fixed the problem. If you want to be able to intercept panics, you need to provide implementations for `eh_unwind_resume` and `eh_personality`.
For low level code, do you really want to abort on panic? Rust error handling is easily my least favorite part of the language, combining the disadvantages of exceptions and return codes.
Re: Rust in 2018: easier to use
#226Earlier quoted context omitted.
Perhaps it's just an issue of me not being educated enough with this kind of low-level Rust. Setting panic to abort in the cargo config did indeed fix `eh_personality` being undefined, but `eh_unwind_resume` still seems finnicky. Building in release will work, but building in debug will still complain
I'm a little rusty on the topic, but it seems ([0]) that adding `#[no_mangle]` before `panic_fmt` should fix it. [0] https://github.com/rust-lang/rust/issues/38281
Re: Rust in 2018: easier to use
#227Earlier quoted context omitted.
Looks like incremental compilation has been enabled in nightly: https://github.com/rust-lang/cargo/pull/4817
That's a welcome improvement from last time I looked at it. Does anyone know a ballpack figure for how many LoC/s you can expect on a beefy workstation?
Furthermore, this is the start of incremental: we have more stuff coming down the pipeline.
Re: Rust in 2018: easier to use
#228This is going to sound weird, but I would like to see a garbage-collected Rust. Take away the borrow checker, and you still have a modern language with UTF-8 support out-of-the-box, algebraic data types, pattern matching, a focus on performance, and great tooling (cargo + rustup = OCaml almost fits the bill (Rust is inspired by OCaml after all), but the tooling around it is lacking to put it mildly.
Yep, that's exactly what I would also like to see. AFAIK there is some work on a GC in Rust, but it doesn't take away the borrow checker like you wished ;) So you will still need to use `.borrow()` and `.borrow_mut()`. A language similar to Rust but with GC (and no borrow checker) could be quite useful for a lot of applications out there. Basically Go but a more "modern" language.
Re: Rust in 2018: easier to use
#229Earlier quoted context omitted.
Are you really saying that Rob Pike is part of some kind of conspiracy to offshore all the coding that's currently being done at Google SF? Golang has been around for a while now, and there's no sign of that happening.
No, I am just stating that the goals of having the language designed for such target audience, can have that as side effect. Just like it happened with Java.
If you're making the weaker claim that Go's design "can" have the effect of triggering outsourcing, then that's speculative and consequently rather difficult to refute. But you haven't provided a single piece of evidence that this has actually occurred, so far as I can see.
Re: Rust in 2018: easier to use
#230Earlier quoted context omitted.
You summarized it so well ! It was also a huge source of confusion for me in the beginning. Would you mind if I made a pull request to the Rust book adding your explaination to the lifetime chapter ?
I wouldn't. Feel free to use it. But I have the impression that the Rust book contains something to that effect. "Descriptive and not prescriptive" part probably comes from stackoverflow. I don't remember exactly.