Live data from Hacker News

How to Learn Modern Rust

github.com

41–50 of 67 posts

Re: How to Learn Modern Rust

#41
post #11

Earlier quoted context omitted.

I think so? Modern c++ (c++11) came 13 years after c++98. Rust has been released for close to or longer than that depending on your definition of released.

Note that while C++98, the first standard came out in 1998, the first public release of C++ was in 1985, so it's more like 26 years

Yeah, I remember looking at C++ sometime in the 80s. If memory does not evade me I think it was preprocessor back then.

Re: How to Learn Modern Rust

#43

This looks like a great resource, starred and upvoted. I'm planning to learn Rust next, going to start in a week after a job interview I had already lined up at Google. I worked with many languages professionally (JavaScript, TypeScript, Java, Python, Go, and now Dart) and many others at the university (C, C++, C#)... ...and Rust is very appealing to me. It's a modern language where the dev tools are straightforward,…

> I can't imagine that Rust will not be one of the most important languages of the next decade.

As someone new to this industry, I'd love to hear a counter argument to this if anyone has one.

Re: How to Learn Modern Rust

#44

what word are people going to use after modern. it's kind of like using the word new. we don't use modern rust around here anymore, just modern new new modern rust.

A lot of people are getting really hung up on this. "Modern Rust" is just current Rust. Once Rust moves on, that will be modern Rust and what we once called modern will no longer be modern. Like all things. You might as well get upset that somebody said something will happen "tomorrow" because in 24 hours it won't be "tomorrow" anymore.

Re: How to Learn Modern Rust

#46
post #27

Earlier quoted context omitted.

They're out there! I found a gig at a startup not in the blockchain space working with Rust, but felt pretty lucky to find it. Most of the jobs are in crypto nonsense.

Why are there only those jobs?

Many software companies started in the last 3-4 years revolves around the blockchain. These were free to choose the best language suited to their use case. Many chose Rust, first released 7 years ago and started gaining momentum 3-4 years ago. It had good performance, fewer foot guns, good type system so it made sense for them.

Companies that started before Rust gained critical mass might already have significant investments in one language and don’t want to rewrite. This is the majority of companies. Let’s say GitHub won’t rewrite their main Ruby application, but if they were writing a new code search backend, they might choose to write that in Rust. The majority of GitHub devs would continue to write Ruby.

That means older companies (started before blockchain was hot) are going to skew towards older languages while newer companies are more likely to adopt newer tech.

Re: How to Learn Modern Rust

#47
post #16

Earlier quoted context omitted.

It's a decent joke, but one of the reasons I only took up Go almost a decade after it got started was that I wanted to invest on a stable language ecosystem that wasn't after the fad of the week (like certain runtimes we all know). I'm actually looking forward to Rust having a few more years under its belt so I can do more than experimentation with it (and yes, I've seen the Oxide stuff, and there is plenty we can ca…

Go: started 2007, announced 2009, 1.0 2012 Rust: started 2006, announced 2010, 1.0 2015 The weathering on the two languages seems fairly similar. In fact it could be argued that Rust is more stable. Golang is talking about a breaking Go2, Rust has a fairly good forward compatibility story and plans.

I don’t think there’s any plan for a Go 2. I’m willing to bet we won’t see one in the next 10 years. The main feature that might have required breaking changes (generics) was introduced successfully without any breaking changes.

Rust has no plans for 2.0 either.

Both are stable languages that have been making steady progress.

Re: How to Learn Modern Rust

#48
post #47

Earlier quoted context omitted.

Go: started 2007, announced 2009, 1.0 2012 Rust: started 2006, announced 2010, 1.0 2015 The weathering on the two languages seems fairly similar. In fact it could be argued that Rust is more stable. Golang is talking about a breaking Go2, Rust has a fairly good forward compatibility story and plans.

I don’t think there’s any plan for a Go 2. I’m willing to bet we won’t see one in the next 10 years. The main feature that might have required breaking changes (generics) was introduced successfully without any breaking changes. Rust has no plans for 2.0 either. Both are stable languages that have been making steady progress.

https://zchee.github.io/golang-wiki/Go2/

https://www.youtube.com/watch?v=RIvL2ONhFBI

Re: How to Learn Modern Rust

#49

This looks like a great resource, starred and upvoted. I'm planning to learn Rust next, going to start in a week after a job interview I had already lined up at Google. I worked with many languages professionally (JavaScript, TypeScript, Java, Python, Go, and now Dart) and many others at the university (C, C++, C#)... ...and Rust is very appealing to me. It's a modern language where the dev tools are straightforward,…

We at Intervall are looking for excellent (Rust) developers:

https://intervall.io/en/jobs.html#rust-developer

Re: How to Learn Modern Rust

#50

My first piece of advice is to just start writing code. If you are not specifically interested in super high performance systems level code, my second piece of advice would be to write code that avoids lifetime annotations until you get the basics of the borrow checker down. For me, this meant writing a gRPC API with Rust using `tonic` with a `diesel` based persistence backend and observability with `tracing` and `op…

Just start coding while avoiding lifetimes is great advice, but that's easier said than done. Rust makes some hard things simple and exposes hidden complexity in things you thought were simple. Maybe I'd reframe it as "just start writing code, and use RC liberally to avoid lifetimes until you get a handle on them." Also avoid async for that first project too.

This is what I did. Still haven't figured out lifetimes or async, but I was impressed with how easily I managed to write something that works[1]...

[1] https://github.com/jcuenod/clickhouse-set-cover

Post reply on HN