Want to get started with Rust?

Here are some resources that help you to get into the language!

🧵⬇️
1️⃣ "The Book"

This is the official Rust book. It covers everything the language has to offer and introduces feature after feature while enabling especially newbies to follow along from the simpler to the more difficult topics.

doc.rust-lang.org/book/
2️⃣ Rustlings

This project gives you small exercises that aim at getting you comfortable writing Rust code. Especially if you don't feel creative enough to think of a new project, this is a great way of still writing code.

github.com/rust-lang/rust…
3️⃣ Rust By Example

What you get here are examples of how certain concepts Rust introduces can be used. There is even an inline code editor where you can play around and let your code run.

doc.rust-lang.org/stable/rust-by…
4️⃣ Ferrous Teaching Materials

This is a slide deck introducing you to Rust and its features/concepts.

Great if you only want a more high-level overview and find your way yourself.

ferrous-systems.github.io/teaching-mater…
5️⃣ The Rust Reference

Not a tutorial, but the (nearly) full reference to the language. There will come a time where this comes in handier than only searching within the previously listed resources.

doc.rust-lang.org/reference/inde…
6️⃣ The Compiler Error Index

You will fight the compiler and borrow-checker, especially in the beginning.

The messages emitted are awesome, but if you need more information, this one will help you a lot.

doc.rust-lang.org/error-index.ht…
7️⃣ Now Is Your Turn

Do you know any other awesome Rust resources that helped you with your journey in Rust? Or is there something you simply want to see covered here?

Feel free to add it so that everyone may profit!

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Oliver Jumpertz

Oliver Jumpertz Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @oliverjumpertz

16 Mar
Let's talk about Rust.

The most-loved language, according to StackOverflow's yearly developer survey that not enough people seem to use professionally.

🧵⏬
1️⃣ What Is Rust?

Rust is a systems programming language that is compiled to binary. It has no runtime and instead uses a concept called "borrow checking". Developers don't need to explicitly free memory, the compiler does it for them.
The language itself is multi-paradigm, offering functional, generic, imperative, structured, and concurrent programming with a huge emphasis on performance, memory safety, and developer productivity.
Read 26 tweets
15 Mar
What are NFTs? Everyone seems to be talking about them but what are they, and how can you use them?

Interested? Then this thread is for you!

🧵🔽
1️⃣ What Is An NFT?

Non-fungible tokens (NFTs) are digital assets. Just imagine a trading card where each card has unique information engraved into it. No two NFTs are the same and they are thus not interchangeable.
Other than crypto where one BTC is one and two BTC are two BTC, two NFTs are one NFT and one NFT. Only because you have two NFTs of the same type simply doesn't enable you to sum them up together.
Read 19 tweets
14 Mar
Let's talk about how you can optimize your LinkedIn profile by using keywords.

This approach worked pretty well for me, and it might help you, too.

🧵🔽
1️⃣ Most Recruiters Search For Keywords

LinkedIn offers recruiters the chance to look for profiles of users by using keywords. If you ever had to search in Atlassian Jira, you know how that works approx.
If not, basically imagine it like this:

A recruiter can type in keywords and then use boolean logic, like ("engineer" OR "developer" OR "dev") AND "javascript" AND ("react" OR "vue").

LinkedIn will process this and then return a list of potential profiles for them.
Read 13 tweets
13 Mar
Imagine every device manufacturer created their own plug that only they were allowed to manufacture. You'd need at least one cable for each device to charge. Gladly we have USB as a standard.

The Dependency Inversion Principle solves this issue for software.

🧵🔽
1️⃣ What does it state?

Modules that encapsulate high-level policy should not depend upon modules that implement details. Rather, both kinds of modules should depend upon abstractions.
This may sound a little complicated, but you can break it up, as follows:

1. High-level modules should not depend on low-level modules. Both should depend on abstractions (e.g., interfaces).
Read 23 tweets
12 Mar
Just imagine that you need 20 different keys on your keyring to enter your home but only one of them is actually used to unlock the door.

The Interface Segregation Principle tries to solve this problem for software.

🧵🔽
1️⃣ What does it state?

The Interface Segregation Principle (ISP) sets a pretty simple statement:

"No client should be forced to depend on methods it does not use."

The ISP applied to the extreme will result in single-method interfaces, also called role interfaces.
You can take a look at the following example to get an idea of how the ISP can be violated in one way (it's in TypeScript). interface ReportService {  ...
Read 18 tweets
5 Mar
Code Reviews are a great way to use the experience and knowledge of a team to create good software. Not all review processes are enjoyable, though.

Here are 6 tips to make your review process better and more enjoyable for everyone!

🧵🔽 Two developers sitting at a...
1️⃣ Make Expectations Clear

A good review process should both be standardized and individual. The terms of the process should be written down and transparent for everyone on the team. Each team member should know what is expected of them and all team members should agree ...
... on the terms. Changing the terms should always be a democratic process within the team. If the team disagrees on changes or terms, it should discuss the issues until there is consent.

On the other hand, the process should be flexible enough to allow for individuality.
Read 19 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!