Rust is a systems programming language. Application programming provides something direct to a user, systems programming produces services used by other software. The application is the game, the system is the engine it is running on.
I heard about Rust late last year and ~in the future~, I'd like to have a go at learning Rust. The reasons are two-fold:
1) I've never done any systems programming. I deal with application programming, with a frontend (JS, HTML, CSS) focus but am also delving into backend (Node.JS, Python) work too. Systems programming is a completely unknown concept to me. I don't like not knowing things.
2) The community looks awesome. It seems that a lot of people have put a great deal of effort into making Rust approachable, their free-to-read book being one example. I have a lot of time for good communities, the language stuff is secondary to that every time.
The first thing I do when I want to learn a programming language is ask 'what can I do with this language?'. 100% of the time this involves me going to Google and typing 'what can you build with [insert language here]'.
Often leave more confused than before, wishing someone had created a good list of projects you could tackle. So, I asked people on the internet to show me what they were creating.
Everyone who does @rustlang, what have you built with it? I want to write these down somewhere.— computer??? (@Charlotteis) December 31, 2015
And it turns out, you can do loads of stuff! Take a look at the replies to my tweet for the full list, but here are some examples of what people are accomplishing:
- intermezzOS an operating system to teach you how to do systems programming
- Transcoding audio on a Raspberry Pi
- Iron, a web framework
- A Sass compiler
- A JSON API serializer
- A fractal explorer
- A DOOM renderer!
You can find an even bigger list of projects here, at Awesome Rust. I'm really looking forward to trying Rust out, hopefully I've given you a good idea of what you could build with it.