Live data from Hacker News

Rust is Software's Salvation

redox-os.org

81–90 of 182 posts

Re: Rust is Software's Salvation

#81
post #45

Rust is an overly complicated language that made the exact same deadly mistakes that c++ made: takes too long to compile and is too complex. Yes I get it, you're working on the compile times. You will never bring them down to under 1 second regardless of amount of libraries used, let's just say this once and for all. I add two crates 'hyper' and 'postgres-rs' in a 500 line(!!!) program and it's STILL a 2.8 second com…

I don't know why you are down voted. Compile time is a Rust issue for me. I'm spoiled by D. However I'm not sure if borrow checking is inherently slow. The release notes are discouraging. 30% faster? Aim for 10 times faster. Maybe it is just the LLVM backend. It still is slow.

> Maybe it is just the LLVM backend. It still is slow.

It's a combination of two things, as far as I know.

1. The LLVM backend is slow.

2. The Rust frontend has historically abused the LLVM backend badly, by feeding it large amounts of barely optimized code. This is being worked on, but it's going to take a while.

Re: Rust is Software's Salvation

#82

Earlier quoted context omitted.

The echoes of Golang hype right now are somewhat ominous. A few years ago it was "concurrency primitives are going to change your life" and now it's "lifetime/ownership primitives are going to change your life." I am somewhat disappointed that we still feel the need to create entirely new toolchains and rewrite everything just to support what should be an incremental improvement. But at a certain point, a lot of the…

I think you'll find a lot of Rust's supporters actually come from a Systems Programmers background who've felt the pain before. I've been doing C/C++ for close to 15 years now, I find that the borrow-checker not only helps with safety but also with guiding a good architectural foundation. Nothing keeps you from dropping into an unsafe block and cranking out very c-like code if you want as well. All my green-field cod…

I have too but I don't see any magic in Rust's borrowing beyond what you would get with using shared_ptr, weak_ptr and move semantics in C++11. Yeah there is a certain class of errors that the Rust compiler will check that will still give you a segfault in C++. But it doesn't get around the programmer still needing to have a firm understanding of RAII and the difference between the stack and heap in order to be effective in either Rust or C++, or Golang, or C99, or what have you.

Re: Rust is Software's Salvation

#83
post #77

Earlier quoted context omitted.

No argument on superior, it's just that superior doesn't win the day. Look at C++. Look at JavaScript. It would be surprising if the industry made the better choice for a change.

Hmm--with some edge-case exceptions that never got a strong push outside of some niches (Ada comes to mind, where it achieved some traction in DoD circles), I wonder if C++ wasn't the superior choice given its time and place. By no means is it perfect, but in the early to mid 90's there weren't many competitors with a similar feature set that had anybody pushing hard behind it. To my mind it seems not dissimilar. If…

Spot on, C++ has always been the best systems language for real world projects until Rust came along.

Re: Rust is Software's Salvation

#84

Earlier quoted context omitted.

The echoes of Golang hype right now are somewhat ominous. A few years ago it was "concurrency primitives are going to change your life" and now it's "lifetime/ownership primitives are going to change your life." I am somewhat disappointed that we still feel the need to create entirely new toolchains and rewrite everything just to support what should be an incremental improvement. But at a certain point, a lot of the…

If we were betting money, I'd put mine on Golang over Rust just because of the piles of money and effort Google keeps pouring into it. Rust is a little cooler, but I just don't see Mozilla having enough resources to keep-up the momentum long-term.

I don't see how Google is really putting piles of money into Go. In fact, in terms of maintainership and porting I'd say collectively that many other companies are investing more in Go than Google. What can you point to as piles of money?

Re: Rust is Software's Salvation

#85
post #78

Earlier quoted context omitted.

We have a lot of Ruby/Python/JavaScript developers using Rust. They handle it just fine.

Are they really the target audience, though? Do they need it? To an outside observer (me), seems like Rust evangelicism tries to cast a too wide net, ending in "meh" response from many.

Who are you to say what someone needs or doesn't need?

In this specific case, as projects scale, extra performance is important. So they've started deploying Rust services to address that need.

Like this post: https://blog.sentry.io/2016/10/19/fixing-python-performance-...

Look at that CPU graph. That's actual, important, business value.

> ending in "meh" response from many.

Most of this thread is complaining about people having a _too enthusiastic_ response to Rust, not too little.

Re: Rust is Software's Salvation

#86

Earlier quoted context omitted.

If we were betting money, I'd put mine on Golang over Rust just because of the piles of money and effort Google keeps pouring into it. Rust is a little cooler, but I just don't see Mozilla having enough resources to keep-up the momentum long-term.

I don't see how Google is really putting piles of money into Go. In fact, in terms of maintainership and porting I'd say collectively that many other companies are investing more in Go than Google. What can you point to as piles of money?

Perhaps not that much by valley standards, but I'm sure just the salaries of Rob Pike and Brad Fitzpatrick alone would amount to more love than a lot of languages get.

Re: Rust is Software's Salvation

#87

Earlier quoted context omitted.

The echoes of Golang hype right now are somewhat ominous. A few years ago it was "concurrency primitives are going to change your life" and now it's "lifetime/ownership primitives are going to change your life." I am somewhat disappointed that we still feel the need to create entirely new toolchains and rewrite everything just to support what should be an incremental improvement. But at a certain point, a lot of the…

A few years ago it was "concurrency primitives are going to change your life Those, plus the total package of tradeoffs in Golang did for me, in terms of implementing a game server. The whole package really is game changing for what I'm doing. I am somewhat disappointed that we still feel the need to create entirely new toolchains and rewrite everything just to support what should be an incremental improvement. There…

> There's something wrong with programming as an entire field

Look at all the research and prototyping in aviation. What's weird about programming is the amazing longevity of experimental ideas vs. heavily engineered products.

Re: Rust is Software's Salvation

#88

Earlier quoted context omitted.

I think you'll find a lot of Rust's supporters actually come from a Systems Programmers background who've felt the pain before. I've been doing C/C++ for close to 15 years now, I find that the borrow-checker not only helps with safety but also with guiding a good architectural foundation. Nothing keeps you from dropping into an unsafe block and cranking out very c-like code if you want as well. All my green-field cod…

I have too but I don't see any magic in Rust's borrowing beyond what you would get with using shared_ptr, weak_ptr and move semantics in C++11. Yeah there is a certain class of errors that the Rust compiler will check that will still give you a segfault in C++. But it doesn't get around the programmer still needing to have a firm understanding of RAII and the difference between the stack and heap in order to be effec…

For one, additional safety. Rust's equivalent are more safe. Secondly, speed. Rust has several advantages: with shared_ptr, for example, you have the Rc/Arc split, the decreased number of refcount bumps, etc. (some of that speed comes from the safety, even...)

Re: Rust is Software's Salvation

#89
post #77

Earlier quoted context omitted.

No argument on superior, it's just that superior doesn't win the day. Look at C++. Look at JavaScript. It would be surprising if the industry made the better choice for a change.

Hmm--with some edge-case exceptions that never got a strong push outside of some niches (Ada comes to mind, where it achieved some traction in DoD circles), I wonder if C++ wasn't the superior choice given its time and place. By no means is it perfect, but in the early to mid 90's there weren't many competitors with a similar feature set that had anybody pushing hard behind it. To my mind it seems not dissimilar. If…

[deleted]

Re: Rust is Software's Salvation

#90

Earlier quoted context omitted.

>"Until we start seeing some more balanced (frankly, I'd settle for nuanced) discussion about the compromises made to get Rust's strengths, I'm staying the hell away from it." Look into the issues surrounding the borrow checker, that's one of Rust's main pain points. Long compilation times are another common issue. To Rust fans, I realise both of those issues will be addressed to some degree as MIR matures, but I'm l…

Another couple of flaws that could have a big impact on Rust. - It will be super hard to hire for Rust for a long time. It would be a very bold move to write your app in Rust if you plan to grow your tech team anytime soon. - I havn't tried learning Rust myself, but I have read that little that it can be a little tricky to start thinking the rust way (borrowing?) Plus the language "looks" hardcore. I wonder if that w…

> super hard to hire for Rust for a long time

Good programmers aren't strongly bound to language. Hire any systems programmer and have that person learn Rust.

Post reply on HN