Live data from Hacker News

Ask HN: Will Rust ever become a mainstream systems programming language?

news.ycombinator.com

111–120 of 291 posts

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#111
post #16
post #12

I would say unlikely, for the simple reason that Rust is just really hard .

C++ is hard, too. So is C, to write correctly. Hasn't stopped either of them from literally powering almost every computer in use. Rust's complexity is equivalent to, but distinct from C++'s. I prefer it over C++, and I'm one big fan of the latter.

C++ and C are easy to get into a working state, and then you bit by bit discover your mistakes. Rust forces that information up front, and that can be problematic for people who aren't used to it ( and just want to get a back up and running, which is unfortunately too many real world systems).

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#112
post #20

Earlier quoted context omitted.

You have a point. I've done medium-sized C projects in my degree, but my professional background is mostly web. I've been using Rust heavily for 10 months. I think that if you want to use it for web stuff you very much can, but the language is more immature than it might first appear. If the community keeps going the way it is, I hope to work with it commercially by 2020. The most promising things I've read about it…

Why use Rust for web development? There are very few web back ends in the world that need the speed of C++ or Rust. Java, C#, Go, Haskell, OCaml are much easier to ramp people up with and hire for.

:-) I've been trying to keep the nuance in my comments here. When I said, "I think that if you want to use it for web stuff you very much can," I'd emphasise the, "if you want to."

At the moment a lot of hobbyists are doing web stuff in Rust. Commercially I think usage would be in the same vein as the common pattern of rewriting Ruby services in Go if it starts to limit performance.

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#113

The Rust ecosystem has lost sight of the forest for the trees in my opinion. I highly agree with Graydon's opinion in "Rust is mostly safety" [1] that it's raison d'être is memory safety and concurrency in the systems space. But strangely a significant amount of time is being put in to making it usable for other tasks. I think this has to do with the different cultures between C/C++ developers versus other developers…

Web developers have zero issues with using Rust for web development though. The Rocket web framework is rather intuitive. I even built my website entirely in Rust with it.

http://mmstick.tk

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#114
post #61

Earlier quoted context omitted.

> The half-functional style is too weird. The widespread use of closures for simple stuff is too weird. There's too much unnecessary originality. Trying to port something from another language to Rust is difficult because Rust's ways of doing things are so different from other languages. This. I've spent some time researching Rust but it's just ugly language for me, really. When I read D everything is so clean, so re…

> Create language like Rust with D like syntax, no GC, no additional indirection, RAII, less strict rules or possibility to turn off some of them and I am sold. I think that language will end up looking a lot more like Rust than you think. You can't just compare a language that wasn't designed for zero-cost memory safety to one that was, as if the zero-cost memory safety features have no learning curve.

> I think that language will end up looking a lot more like Rust than you think.

I disagree, I think you could pick different way based on Cyclone coupling with some modern static analysis techniques, it would not have so many features as Rust have but it would be less invasive and more "C/D'ish".

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#115

Earlier quoted context omitted.

>> The error handling is too weird. >What would you rather see? Exceptions

Just curious, have you ever used any other modern languages that do not use exceptions for error handling? Most people who complain are just used to the exception way, but once you embrace returning errors out of functions, it really does feel like a massive improvement in terms of the paradigm.

How do you return failure for a bus error in Rust?

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#116

Earlier quoted context omitted.

> But the object system (yeah, they're called structures and traits) is too weird. So you praise Go for having structures and interfaces, but you criticize Rust for having structures and interfaces because that's "too weird". > The enum approach to variant records is too weird. Why? Because of the keyword? Swift uses that keyword too! > The error handling is too weird. What would you rather see? > The half-functional…

>> The error handling is too weird. >What would you rather see? Exceptions

I would be downright appalled if Rust were to start promoting exceptions. It's an anti-feature.

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#117
post #12

I would say unlikely, for the simple reason that Rust is just really hard .

It's not really hard. It's incredibly easy, from my perspective. It only took me about a week to get a hang of it -- about the same amount of time that it took me to get the hang of Go. Yet the difficulty curve progressively becomes easier and easier until it's much easier to write and maintain software in Rust than Go or even Python. Now I can regularly slap out solutions to challenging problems that would be much harder in 'easier' languages.

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#118

Probably. But why do you care? If you like it then use it and build something. If you don't like it, use something you do like and build something.

Why you might care is that if you build something today, that something could reap some benefit in the future from the language becoming "mainstream". Possible benefits: * users not going "gack, this is written in an obscure language that we have to install to build it". * the implementation quality being better: the thing I write now will benefit from the language being less of a moving target and with fewer bugs, b…

For point one, it helps that Rust is one of the easiest languages I have ever worked with to install the compiler run-time, pull dependencies, build, run, and distribute. So at the very least, it won't get in your way if you just want to distribute a static binary, or give your users a few commands to compile it themselves, even if it is "some weird language".

On point two, Rust is not a moving target, in the sense that it has maintained back compatibility since release to an amazing degree, and the build system does a good job by automatically pinning dependencies for applications. Also, even if it is totally abandoned, you still have a pretty solid language with C-like performance that benefits from ongoing LLVM optimizations. But it is certainly true that there could be unfixed bugs in an abandoned Rust.

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#119
post #7

I think it has a fair chance (Go is a "systems" language and grew very quickly). I also believe you'll see it pop up in unikernels as well. Why, you ask? Because there's always 1 person that starts a project that gets traction. I don't see it growing and replacing C++ though. I don't think there's much incentive post C++11 to really consider porting anything (even small things) over. Most of the features Rust gets pr…

Look up the longest list of security advisories you can find, and then tally what percentage of them are based on "buffer overflow" bugs.

And those are merely the cases where such a bug caused a security hole.

Eliminating that entire class of bug suddenly sounds like a big win, doesn't it?

Re: Ask HN: Will Rust ever become a mainstream systems programming language?

#120
post #7

I think it has a fair chance (Go is a "systems" language and grew very quickly). I also believe you'll see it pop up in unikernels as well. Why, you ask? Because there's always 1 person that starts a project that gets traction. I don't see it growing and replacing C++ though. I don't think there's much incentive post C++11 to really consider porting anything (even small things) over. Most of the features Rust gets pr…

>Let's be honest, you don't segfault unless you're doing something idiotic. I disagree, segfaults can arise out of simple mistakes in rare cases that aren't always immediately obvious - let alone a segfault in a complex system. A sign of a good language is to as much as possible make invalid states illegal by design. Why, if you can reliably check for bad memory use with the compiler, would you not do so? Toughness i…

> A sign of a good language is to as much as possible make invalid states illegal by design

This is exactly the insight that will probably (if I can help it) keep me from leaving the functional language space ever again.

Post reply on HN