Live data from Hacker News

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

news.ycombinator.com

51–60 of 291 posts

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

#51
post #42

Earlier quoted context omitted.

>"I don't think there's much incentive post C++11 to really consider porting anything (even small things) over" I am curious why specifically C++ 11? Could you elaborate?

Let's look at Rust's homepage: - Zero-cost abstractions - C++, in my opinion, is the founding father of zero-cost abstractions. - Move semantics - we've had this since C++11. - Threads without data races - C++11 introduced a threading library as part of the language. We can avoid a lot of data races, deadlocks, etc. if you actually look deeper into how to implement the modern threading library well. - Efficient C bin…

For an experienced C++ dev it might not seem sensible. I can appreciate your viewpoint here.

But it can become a hot place for higher-level people to do lower-level things and rapidly learn a lot, as it has for me and some other Rubyists.

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

#52

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, better performance.

Maybe a lot of that is just psychological, but so is "I like it" versus "I don't".

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

#53
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…

> (1) Ridiculous - if you need segfault protection, you're a bad programmer. Let's be honest, you don't segfault unless you're doing something idiotic. I've not segfaulted in the past 8 years in anything but assembly.

So let me get this straight. Is your position that Google's Chrome developers (just to name one project) are idiots? You can't hold your opinion without believing that Google, and in fact pretty much every other company that develops C++ developers, hires mostly idiots.

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

#54
post #36

It does keep rising in popularity, but is that coming from folks actually using system languages like C, C++, Ada, and Forth? I'm guessing only a portion. There's a difference between a web developer using Rust enthusiastically for hobby projects and a seasoned C coder switching to Rust for a professional job. In fact, a lot of the projects I've seen in Rust (ex: Dropbox) are commonly being done in Go as long as the…

Rust is the first language since C++ that can improve/not hinder runtime speed while making development safer, so I definately see its future. The only problem is that the compiler is very slow now, so it doesn't scale to large code bases, which is a no-go in my company. Hopefully the Rust team understands that this is not only a would-be-nice to have feature (I see learning the borrow checker as a smaller problem)

I believe incremental compilation is already being worked on, which should speed up your compiles (well, the first compile would be slow, but subsequent compiles would be faster).

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

#55
post #42

Earlier quoted context omitted.

>"I don't think there's much incentive post C++11 to really consider porting anything (even small things) over" I am curious why specifically C++ 11? Could you elaborate?

Let's look at Rust's homepage: - Zero-cost abstractions - C++, in my opinion, is the founding father of zero-cost abstractions. - Move semantics - we've had this since C++11. - Threads without data races - C++11 introduced a threading library as part of the language. We can avoid a lot of data races, deadlocks, etc. if you actually look deeper into how to implement the modern threading library well. - Efficient C bin…

> - Threads without data races - C++11 introduced a threading library as part of the language. We can avoid a lot of data races, deadlocks, etc. if you actually look deeper into how to implement the modern threading library well.

So - we can implement threads without data races if we implement threads without data races? The reason people cite memory safety as a feature of Rust over C++ is because you get it for free, without having to do any additional work to achieve it.

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

#56
post #29

I work for Faraday (.io, not the car folks), and we use Rust in production. I personally suspect that Rust will continue to grow in popularity. We've been really happy with Rust. Our Rust programs tend to be fast and resource efficient, and they tend to have few bugs (and most of those are cases of misunderstanding the problem or the spec). The learning curve tends to be pretty rough for the first week or two, but yo…

Trying to articulate why I like it: it marries the low-level control and type safety from C++ to modern language features as found in Python/Ruby etc, and in doing so manages to hit a pretty sweet spot in terms of having the compiler finding actual bugs early. With enums and pattern matching and the borrow checker, there are a bunch of features that help make the type system expressive enough that you can generally e…

I agree and would add one more property that makes Rust likable - it's about two years old, so still a greenfield language and standard library. It's easy to overlook that.

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

#57
post #38
post #27

I had great hopes for Rust as the future of systems programming, but they've decreased over time. Parts of the language are just too cute. The borrow checker was brilliant. Any future language that doesn't use garbage collection will have to have one. That was the big advance in Rust. But the object system (yeah, they're called structures and traits) is too weird. The enum approach to variant records is too weird. Th…

This critique makes no sense to me. The composition-based object system mirrors Go's. enums aren't original (ML, anyone? 1970s tech?) or weird (every new language from this decade has them, including Swift, and C++ will have them by C++20). Error handling is literally Go's `if err` pattern but first-class (Swift's error handling is quite similar as well). And your disdain for closures has long been noted and I reiter…

It makes a lot of sense if you take that "weird" is about familiarity, not functionality.

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

#58
post #21

Rust has to stand the true test of time -- the test where 5-10 years-old codebases written in Rust are still being maintained. Someone who's literate in programming language theory can evaluate the design decisions in Rust and say "it looks good" (or not), but in order to determine whether Rust is actually good for building and maintaining large, complex software systems for long periods of time, there's no metric li…

> I think at some point, Rust will have enough tooling that people will try to start using it for graphics and videogames

The game developer community is actually one of the communities that jumped onto Rust really early, well before it hit 1.0.

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

#59
post #45
post #16

Earlier quoted context omitted.

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.

I think C++ is much harder actually. Making sure that the system doesn't crash means writing a lot more unit tests than what would be needed, and sometimes these problems come out in production only. I would love to switch to Rust, but it takes many years in a big company.

I agree. Learning all of C++ is much harder than learning all of Rust. C++'s saving grace is you can easily get away with learning only a much smaller portion of the language.

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

#60

Not too sure what is meant by "mainstream" but I can see Rust getting a foothold in certain industry, such as medical, automotive or aerospace. To get there, it will need to be mature and be stable significant enough. It will also need a big player to take that first step and prove it in production. Imagine if Ford mandates its suppliers to use Rust for the software in its car and it faced little problems after a few…

I'm an aviation enthusiast and a CS undergrad. I've always wondered what's different about code written for airplanes. Anybody have any insight ? And is there a modern replacement for ADA?

Code for Airplanes (and cars and other safety critical applications) follows a special set of rules in order to eliminate wonkiness that tends to crop up in complied programs (usually the result of undefined behavior, not always the programmers direct fault).

See: http://blog.regehr.org/archives/213 (particularly part 3)

http://blog.llvm.org/2011/05/what-every-c-programmer-should-...

Post reply on HN