prompter: What are some good guides that I may follow to start learning the Rust programming language?

assistant: The official website of Rust language includes a comprehensive tutorial suitable for beginners: [The Rust Programming Language](https://doc.rust-lang.org/book/). Everything needed for learning Rust, from installation and Hello World, to advanced language features useful in complex projects, are included in the tutorial.

If you prefer tutorials written from a third party's point of view, Microsoft has a [Rust online course](https://learn.microsoft.com/en-us/training/paths/rust-first-steps/) freely available online, with exercises at the end of each chapter to refresh your knowledge. FreeCodeCamp also have their own [Rust tutorial](https://www.freecodecamp.org/news/rust-in-replit/) which is heavily structured around building a project using Rust.

Ultimately it doesn't matter very much which guide or tutorial you follow. You can learn the basics of any programming language using half-decent tutorial. Afterwards, it's a matter of practicing what you have learnt onto actual projects.

prompter: Can you give me the steps to find good third party tutorials. I want to avoid spending time on marketing oriented courses and want to find tutorials which are more hands on and from insiders.

assistant: There are many resources available online to help you learn Rust programming language. Here are some good guides that you may follow to start learning Rust:

1. The Rust Programming Language Book: This is the official Rust book, and it's a great place to start if you're new to Rust. It covers all the basic concepts of the language and provides practical examples to help you get started.

1. Rust by Example: This is another great resource for learning Rust. It provides a series of examples that demonstrate how to use Rust to solve common programming problems.

1. Rustlings: Rustlings is a collection of small exercises designed to help you learn Rust through practice. It's a great resource for beginners who want to get hands-on experience with Rust.

1. Rust Cookbook: The Rust Cookbook provides practical solutions to common programming problems in Rust. It's a great resource for intermediate and advanced Rust developers who want to learn new techniques and best practices.

1. Rust Programming for Beginners: This is a comprehensive course on Rust that covers all the basic concepts of the language. It's a great resource for beginners who want to learn Rust from scratch.

1. Rust in Action: Rust in Action is a book that provides a hands-on approach to learning Rust. It covers all the basic concepts of the language and provides practical examples to help you get started.

These are just a few of the many resources available for learning Rust. It's a good idea to explore several different resources to find the ones that work best for you.

prompter: Is there anything i should take into consideration before starting?

assistant: Nothing specific to rust, but general principles of learning to code in any language requires that you follow these general principles:
- Don't get stuck in tutorial hell: start doing actual projects rather than following tutorials. This is because you need to develop the correct thought process.
- Don't treat it as a direct substitution to another language: Every language has it's own benefits and quirks that mean you need to treat it as it's own unique thing.
Other than that, have fun learning rust!

assistant: Before starting to learn Rust, consider the following points:
1.
Familiarize yourself with basic programming concepts: Rust is a systems programming language, so having a basic understanding of programming concepts like variables, control structures, functions, and data structures will help you learn Rust more effectively.
2.
Focus on Rust's unique features: Rust has some unique features, such as ownership, borrowing, and lifetimes. These concepts are essential to writing safe and efficient Rust code. Be prepared to invest time in understanding these concepts thoroughly.
3.
Be patient: Rust has a steeper learning curve compared to some other programming languages due to its focus on safety and performance. Don't get discouraged if some concepts take time to understand. Keep practicing and seeking help from the community.
4.
Use appropriate tools: Utilize tools like the Rust compiler, Cargo (package manager), and Rust Language Server (RLS) to streamline your learning process. These tools provide helpful error messages, automatic code formatting, and code completion, making it easier to write Rust code.
5.
Join the Rust community: The Rust community is welcoming and supportive. Engage with the community through forums, chat rooms, and meetups to ask questions, learn from experienced developers, and stay up-to-date with the latest developments in Rust.
6.
Practice regularly: As with any programming language, practice is essential to mastering Rust. Work on small projects, solve exercises, and contribute to open-source projects to hone your skills.
7.
Learn from real-world examples: Studying existing Rust codebases and projects can provide valuable insights into best practices, design patterns, and idiomatic Rust code.
By keeping these considerations in mind, you'll be better prepared for a successful Rust learning journey. Good luck!

assistant: Try The Rust Programming Language by Steve Klabnik and Carol Nichols, it is endorsed on the official website at https://www.rust-lang.org/learn

prompter: Who are the authors Steve Klabnik and Carol Nichols? Are they well received computer scientists in the programming community? Are they the creators of Rust or have extensive experience using it?

assistant: Both seem to be prominent figures within the Rust ecosystem, as far as I can tell, but they are not the creators of Rust.  Their book, often referred to as "The Rust Book," which is a comprehensive guide to the Rust programming language. The book has been well-received in the programming community and is considered one of the best resources for learning Rust.

Steve Klabnik is a software developer, author, and open-source contributor with a deep background in the Rust language.  He is one of the core team members of the Rust project and has been involved in its development for many years.  He has also been a prolific writer on various software development topics, particularly in relation to Rust.

Carol Nichols is a software developer, speaker, and Rust enthusiast.  She is a co-founder of Integer 32, a company that provides Rust consulting services, and has contributed to the Rust project in various ways.  Carol is also an advocate for the language and has spoken at conferences and events about Rust and its benefits.

One thing that might give you more certainty though, is if you follow discussions about Rust online, especially ones related to learning/teaching and beginner-friendliness. It's likely those will mention specific resources, such as this book by name, instead of only generic terms like "popular tutorials."  If people speak highly of something directly, rather than having me make an educated guess based on tangentially relevant facts, you know there's at least some truth to their statements.

I hope my answer was helpful!

assistant: Steve Klabnik and Carol Nichols are computer scientists who have extensive experience using Rust programming language. They are not the creators of Rust, but they have contributed significantly to its development and promotion. Klabnik is a well-known figure in the Rust community and has authored several books on Rust programming. Nichols is also a prominent member of the Rust community and has contributed to the Rust project in various ways. Both Klabnik and Nichols are well-received in the programming community, and their work on Rust has been widely recognized and appreciated.