Skip to content

An interactive tutorial for programmers who have never used a compiler

License

Notifications You must be signed in to change notification settings

rust-in-action/intro-to-rust-tutorial

Repository files navigation

intro-to-rust-tutorial

An interactive tutorial for programmers who have never used a compiler. Presented at LCA2020.

Abstract

Rust is often described as having a difficult learning curve. Let’s find a hidden escalator. By the end of this tutorial, you’ll find building a command-line utility in Rust to be about as easy as one that’s written in Python or Ruby, and you’ll be able to distribute it as a stand alone binary.

Many of the difficulties learning Rust emerge from two sources: jargon and novel concepts. Avoiding the jargon keeps some the cognitive capacity in reserve to focus on the new concepts. Much of jargon has its roots in Rust’s functional programming heritage and early-adoption by programming language theorists. It’s possible to bypass much of that and focus on getting something working first. There’s plenty of time to learn about affine type systems and monomorphisation once you’ve got a working project or two.

This practical tutorial will take you through the process of writing a command-line from scratch. We’ll learn all about the essentials of the language, as well as the tooling that’s available for people who may not have worked with a compiled language before. We’ll also spend some time talking about how to access further help when you’re working on your own.

At this stage of its life cycle, everyone who knows Rust learned something else first. That means that there are plenty of people in your position who have been able to push through and make progress.

Come and learn Rust!

Contact

  • Problems or suggestions? You're very welcome to contact the author: @timClicks

Resources

About

An interactive tutorial for programmers who have never used a compiler

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages