I think it would be fair if you also would disclose that you are working in Mozilla and that you are directly connected to Rust when defending it on HN.
Honestly, just about anyone who's read an HN thread or two on Rust should be familiar with pcwalton's involvement with Rust at this point. I also don't see why he should have to insert a disclaimer paragraph in every single HN comment he makes.
Why I’m dropping Rust
41–50 of 164 posts
Re: Why I’m dropping Rust
#42I think it would be fair if you also would disclose that you are working in Mozilla and that you are directly connected to Rust when defending it on HN.
Sounds like overkill to me? Would a comment in a profile be sufficient? (Disclaimer: I'm working on a web based brainfuck ide/compiler/optimizer for my own amusement, and thus probably have some kind of dog in some kind of fight here?)
Re: Why I’m dropping Rust
#43I think it would be fair if you also would disclose that you are working in Mozilla and that you are directly connected to Rust when defending it on HN.
I think pcwalton's extensive knowledge on not just how to program in Rust, but the rationale behind various design decisions should indicate to a careful reader that he is involved in Rust.
Re: Why I’m dropping Rust
#44> what IS the idiomatic Rust way to do a cyclical directed graph? That's a great question! So, uh, what is the answer?
Re: Why I’m dropping Rust
#45Earlier quoted context omitted.
> > What IS the idiomatic Rust way to do a cyclical directed graph? > Unfortunately, the correct idiomatic way is that you try very hard to avoid doing so. Rust is all about clear ownership, and it doesn't like circular references. > The usual solution is to put the cyclic graph code into a library, and to use pointers and about 20 lines of unsafe code. The point about C++ is important. Cyclic graphs are hard in any…
The usual solution is to put the cyclic graph code into a library, and to use pointers and about 20 lines of unsafe code. That indicates a fundamental design flaw in the language.
Re: Why I’m dropping Rust
#46The solution linked to in "Go has a suitable answer" isn't relevant, because it doesn't support virtual methods. You can do the same thing described there in Rust by having a base struct, embedding the base struct in any child structs (composition over inheritance), and implementing Deref/DerefMut on the child if you like. Go has the exact same set of features Rust has here, no more: struct composition or interfaces/…
> The preferred solution to having multiple types of nodes in the same tree is to use an enum That's not really a great option for a widget library, because it means no custom widgets.
Re: Why I’m dropping Rust
#47Rust seems to be a poor match for the way the author wishes to solve this particular problem. That doesn't mean that their design is wrong, or that Rust is wrong, but it does mean that mixing the two would require rethinking parts of the design. > So a trait can define abstract functions, but can't access any underlying fields. In Rust, a trait is a purely abstract interface to a type. It explains how you can use tha…
Any details on this? GCs and finalizers don't really work well together, which is why I gave up on my cycle detector implementation.
Re: Why I’m dropping Rust
#48You can drop something when you use it some noticeable amount of time, not just couple of weeks. Otherwise it's more "I tried but it's not for me". There's nothing wrong with it - somebody will love Rust, somebody will not, somebody will love even Go - it's ok. But title is too dramatizing.
Re: Why I’m dropping Rust
#49Earlier quoted context omitted.
Why? It would be fair if he was trying to push a product, but here it's just a technical discussion.
I am not claiming that he is pushing the product, just that his opinion can be biased, but then how would you want to push clearly technical product like Rust without technical discussion?
Then again, that'd make it easier to filter out all the uninformed/overly cynical/inflammatory posts!
Re: Why I’m dropping Rust
#50Earlier quoted context omitted.
> > What IS the idiomatic Rust way to do a cyclical directed graph? > Unfortunately, the correct idiomatic way is that you try very hard to avoid doing so. Rust is all about clear ownership, and it doesn't like circular references. > The usual solution is to put the cyclic graph code into a library, and to use pointers and about 20 lines of unsafe code. The point about C++ is important. Cyclic graphs are hard in any…
The usual solution is to put the cyclic graph code into a library, and to use pointers and about 20 lines of unsafe code. That indicates a fundamental design flaw in the language.
Safe Rust allows one to do an incredible amount of things whole providing strong guarantees against the sorts of problems that plague lower level languages. Since this isn't suitable for absolutely everything, we have unsafe Rust to fill in the gaps in the small areas it's needed. Unsafe Rust isn't "bad", it just doesn't provide the same guarantees as safe Rust. And if something goes wrong, you can at least narrow down your search to unsafe areas of the code.
This isn't the sign of fundamental language design flaws. It's the sign of a phenomenally well-designed language, where the downsides of seldom-needed yet powerful features are limited to only those areas where they're used.