Live data from Hacker News

Rust and the Future of Systems Programming [video]

hacks.mozilla.org

111–120 of 511 posts

Re: Rust and the Future of Systems Programming [video]

#111
post #98

Earlier quoted context omitted.

> IMO it would be great to get folks who write the enormous base of existing realtime apps driving critical devices everywhere to sit up and take notice of Rust. Rust cannot make any latency guarantees either. Reference counting and its lifetimes also have pathological cases, ie. worst-case, an object can reference the entire heap which will take time proportional to the number of dead objects to free. Copying collec…

Lifetimes are compile-time only and do not do any reference counting. So Rust has the same latency guarantees as C, for example.

[deleted]

Re: Rust and the Future of Systems Programming [video]

#112
post #30

Earlier quoted context omitted.

> Probably talking head videos with PowerPoints. Almost everyone in this video is an engineer on Rust, Servo, or Firefox. The exception is Dave Herman, head of Mozilla Research. These are unscripted responses to questions, no powerpoint involved. > They may not have used it, but know it exists. There are a lot of programmers in the world, and many of them don't read Hacker News. I meet new people who have never heard…

> but remember their first impression from a pre-1.0 version Can confirm, I routinely observe people in the wild dismissing Rust based on the existence of the `@` and `~` sigils, not realizing that we removed those years ago. :P

I dismissed it when I first heard about it (prob just prior to 1.0). I saw "Mozilla" as a primary sponsor and just knee-jerk assumed it was part of the what-if-we-put-JS-here mania.

Thankfully due to repeated popularity on HN I gave it a try and I'm a convert now!

Re: Rust and the Future of Systems Programming [video]

#113
post #6
post #2

when you can run javascript on a pebble watch it blurs the boundaries ... Want to concat an number and string ? JavaScript wont complain.

> Want to concat an number and string ? JavaScript wont complain. Is that supposed to be an endorsement?

  foo = (string, number) => string + number
Now go write that in your preferred language!

Re: Rust and the Future of Systems Programming [video]

#114

The state of Rust editors continues to evolve [1], but I would be curious to learn more about the editors/IDEs that people are using for Rust development. Any stories or thoughts? [1] https://areweideyet.com/

I use Emacs, mostly because my workspace has gotten too big for Atom to be consistently responsive (I've got dozens of projects with tens of thousands of lines of code and who knows how many files deep in the dependency managers internals).

Re: Rust and the Future of Systems Programming [video]

#115

Earlier quoted context omitted.

> IMO it would be great to get folks who write the enormous base of existing realtime apps driving critical devices everywhere to sit up and take notice of Rust. Rust cannot make any latency guarantees either. Reference counting and its lifetimes also have pathological cases, ie. worst-case, an object can reference the entire heap which will take time proportional to the number of dead objects to free. Copying collec…

Rust itself can't, but you as the programmer can. It's not quite C, but you can do a lot of reasoning about what the compiler will do with your code, and avoid pathological cases.

Absolutely, you have to be aware of the ownership graph depth in both C and Rust if you want to bound latency.

You don't have to do this with tracing GC though, you just need a runtime that implements latency bounds.

Re: Rust and the Future of Systems Programming [video]

#116

IMO C++ is unstoppable now, c++ 11, 14 and 17 additions with GSL and all things in the pipeline ...

I disagree. There are a lot of us who want a higher level systems language, but don't think that C++'s kitchen sink approach is a good design. Those people are flocking to Rust already, and more people are coming because it's interesting or cool.

Rust doesn't have to beat C++. If Rust steals 1/10th of C++'s marketshare, it will have a viable ecosystem.

Re: Rust and the Future of Systems Programming [video]

#117
post #62

Earlier quoted context omitted.

The name of the game for the software industry is to continually create better tools that systematically, inexorably reduce the attack surface of apps built with them. Haskell does this in an interesting way by quarantining all side-effect code into Monads and preventing data races with immutability. Rust does it by making memory errors and race conditions impossible via its ownership mechanism. Think of it as guider…

Nevertheless these language specific solutions are completely opaque to an end user. These are software developer centric. As an end user I cannot inspect how these were applied and therefore develop trust in the end product. There's always an element of trust at the root of running a piece of software on my machine. I wish I could quickly inspect and be sure that say, the audio engine that mozilla firefox is running…

> However it does nothing, and probably cannot, address the security i.e. the impact on my own safety or that of my assets.

Sure it can. It actively prevents certain type of errors (buffer overflows, integer overflows), which are prime security exploits. Less exploits == more security.

Re: Rust and the Future of Systems Programming [video]

#119
post #62

Earlier quoted context omitted.

The name of the game for the software industry is to continually create better tools that systematically, inexorably reduce the attack surface of apps built with them. Haskell does this in an interesting way by quarantining all side-effect code into Monads and preventing data races with immutability. Rust does it by making memory errors and race conditions impossible via its ownership mechanism. Think of it as guider…

Nevertheless these language specific solutions are completely opaque to an end user. These are software developer centric. As an end user I cannot inspect how these were applied and therefore develop trust in the end product. There's always an element of trust at the root of running a piece of software on my machine. I wish I could quickly inspect and be sure that say, the audio engine that mozilla firefox is running…

> I guess it's just a question of words and goals being a little bit too overlapping. Rust's approach is to address safety as in the rates of defects. However it does nothing, and probably cannot, address the security i.e. the impact on my own safety or that of my assets.

To me it seems like this is more of an implementation detail and not language-specific.

Re: Rust and the Future of Systems Programming [video]

#120
post #55
post #3

> GC pause ... sufficiently low power hw .. cheap phone Yeah, but even high-powered hardware can take a "major" hit from a GC pause when your application is extremely latency sensitive. IMO it would be great to get folks who write the enormous base of existing realtime apps driving critical devices everywhere to sit up and take notice of Rust. EDIT: I mean to say that many of my colleagues who write realtime software…

> IMO it would be great to get folks who write the enormous base of existing realtime apps driving critical devices everywhere to sit up and take notice of Rust. It would, and definitely should, move into the direction of safer languages than C. The biggest problem I see is tooling and legacy. Tooling, because there's a ginormous amount of testing and design software that "works with C" (whatever that means in the co…

If you're considering switching to Rust for code/memory safety reasons, SaferCPlusPlus[1] may be an easier/cheaper/low risk option. It allows you to add memory safety to your existing code base in a completely incremental way, with no dependency risk. (At the moment, standard library support is required though.)

[1] https://github.com/duneroadrunner/SaferCPlusPlus

Post reply on HN