Live data from Hacker News

Rust can be difficult to learn and frustrating, but it's also very exciting

influxdata.com

121–130 of 282 posts

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#121
post #73

Rust is the answer to the question "can we have speed, correctness, and expressiveness in one language?" My company has been running Rust in production for awhile now, and it's exceeded every expectation. It's fast, it's safe, and it's so productive it's hard to find a reason to use anything else. We've also found that the learning curve is, in our opinion, a bit overstated. We've ramped up several new grads on Rust…

> I'm very bullish on Rust becoming the language of choice in the 2020s for everything from operating systems, web services, desktop applications, and more. It's that good. I don't mean to burst your bubble here. But people need to feel productive quickly with a language, otherwise they'll drop it and move to something else which makes them feel that way. Looking at this thread there are plenty of examples of "I love…

Despite Java's growth, C remains the language of choice for operating systems and C++ for web browsers, desktop applications, games and high performance web services.

Rust is really only competing with C/C++, not JavaScript or even Java (or Go).

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#122
post #73

Earlier quoted context omitted.

> I'm very bullish on Rust becoming the language of choice in the 2020s for everything from operating systems, web services, desktop applications, and more. It's that good. I don't mean to burst your bubble here. But people need to feel productive quickly with a language, otherwise they'll drop it and move to something else which makes them feel that way. Looking at this thread there are plenty of examples of "I love…

Despite Java's growth, C remains the language of choice for operating systems and C++ for web browsers, desktop applications, games and high performance web services. Rust is really only competing with C/C++, not JavaScript or even Java (or Go).

I'm waiting for game engines to pick up Rust.

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#123

Earlier quoted context omitted.

> Rust is the answer to the question "can we have speed, correctness, and expressiveness in one language?" My biggest gripe is that they left out readability. I like the semantics of Rust, and appreciate the performance and the transparent memory model. I am extremely excited to try Rust on an embedded project. Bur honestly, the syntax is gruesome. Coming from Python, Rust looks like two rabid gerbils had a war dance…

Well... compared to Python is kind of an apples to oranges comparison. Compared to Java or C++ I find it to be incredibly direct and expressive. Rust definitely doesn't stop you from writing spaghetti, but no language does.

I don't think the potential for spaghetti code is the problem, I think it's more the terseness of Rust code that makes it hard to read (speaking as someone who doesn't know Rust very well, but has a mild interest in learning it). I agree with the above complaint - it does feel a bit terse and that makes it harder to read IMO.

Languages like Java are more verbose which does make it a bit more frustrating to write but on the flip side I find them easier to read.

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#124

Earlier quoted context omitted.

Python is growing because it's a good scripting language, and there's a need in the ML community for a standard language to write scripts in. The ML community is growing like crazy, thus Python grows. Even though Python is secretly calling Fortran for scipy, or Tensorflow (C++), or PyTorch (also C++), all of which would make good candidates for Rust replacements. So obviously speed is necessary to enable what people…

tl;dr: despite being relatively slow Python is a fantastic glue language. Some people thing rust is well positioned to steal Python's dinner.

To be fair, it's much more likely that Julia will be stealing Python's dinner, rather than Rust.

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#125
post #82

Earlier quoted context omitted.

> In a dynamic language you still have to mentally understand what the type of a function is. You can't just throw any data in to it and have it work. JavaScript would like a word with you.

If you could just throw any data into JavaScript functions and have it work, we wouldn't need TypeScript.

The poster is poking fun of the fact that you can partially apply or over apply a JavaScript function and it will still run.

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#126

Earlier quoted context omitted.

The failures of Rust are the same failures of C++. Leaky abstractions making it impossible to separate representation details, making the abstraction consume a disproportionate mental load. Given that Rust doesn't actually solve any of the actual problems C++ programmers have, there is no motivation to switch.

Rust is based on ADTs, typeclasses, and type parameters. C++s toolkit for abstraction is templates and OOP. They're completely different, and it sounds like you're just trolling anyway.

C++ has ADTs from C++17 and will have typeclasses from C++20. Templates with type traits are effectively a superclass of type parameters anyway.

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#127

Earlier quoted context omitted.

I think the tokio/async ecosystem just isn't ready for prime time. Hopefully this (and compile times!) get much better.

The issue isn't exactly that it's not ready for prime time, but that it's not ergonomic at the moment. The biggest issue that you have to get used to is that pretty much everything has to be owned data, and no references passed around when constructing Future types. This can feel like it comes into conflict with the poll(&mut self) interface (in 0.1). Also, I found truly understanding the fact that returning data fro…

Wait, if I do (in any language)

  foo = createFuture(1)
  bar = createFuture(2)
  foo.poll()
  bar.poll()
I would expect them to start doing work before polled, otherwise there'd be no concurrency. Do I undsrstand you correctly about polling?

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#128
post #82

Earlier quoted context omitted.

> In a dynamic language you still have to mentally understand what the type of a function is. You can't just throw any data in to it and have it work. JavaScript would like a word with you.

If you could just throw any data into JavaScript functions and have it work, we wouldn't need TypeScript.

One often doesn’t need TypeScript. TS solves some classes of problems that would otherwise become crippling in projects of certain sizes and of certain levels of complexity, but, by design, JavaScript tends to happily let you throw any data into functions and have it work (by some definition of “work”).

Re: Rust can be difficult to learn and frustrating, but it's also very exciting

#129

Earlier quoted context omitted.

> Rust is the answer to the question "can we have speed, correctness, and expressiveness in one language?" My biggest gripe is that they left out readability. I like the semantics of Rust, and appreciate the performance and the transparent memory model. I am extremely excited to try Rust on an embedded project. Bur honestly, the syntax is gruesome. Coming from Python, Rust looks like two rabid gerbils had a war dance…

Python is pretty to look at, but I hate working in white space sensitive languages. If I have to have another argument about tabs vs. spaces I am going to toss my monitor out the frickin’ window. Also, it makes autoindent in Emacs worse.

> I hate working in white space sensitive languages.

I think it's funny how people still have issues with this in 2018.

Post reply on HN