3 ms·
I'm itching to get my hands dirty with Rust, but, approaching this from a web developer background (hence minimal low level language experience), I have no idea
by lprd 7y ago
I'm itching to get my hands dirty with Rust, but, approaching this from a web developer background (hence minimal low level language experience), I have no idea where to start. I have a Raspberry Pi3 sitting on my desk, perhaps I should start there.
Congrats to the Rust Core Team!
- steveklabnik 7y agoThanks! A lot of web dev people start off by writing command-line tools. Later this year, Rust will also be significantly easier to write server-side web stuff in, it’s a little tough to get into at the moment. You could also try front-end web stuff with WebAssembly! The PI stuff is also a good choice. There’s links to learn more about these topics on https://www.rust-lang.org/ https://www.rust-lang.org/ that should help you get started!
- hamaluik 7y agoI actually started writing Rust using Rocket (https://rocket.rs https://rocket.rs). It felt a lot like using nodejs/express which helped me get going and the docs are superb. I think using it quickly helped me learn the language and now I’m writing just about everything in Rust.
- alexeldeib 7y agoI'm interested in Rust and have dabbled but don't follow the community too closely. Why do you say later this year, specifically?
- steveklabnik 7y agoIt's not 100% for sure, but it's 99% for sure that async/await will be stable in August. The decision to stabilize is being made in seven days, and if it's decided, it will take that long to make it into its first stable release.
- Outpox 7y agoI'm so excited to read this!
- pimeys 7y agoWe have the whole team waiting for this to land. We're probably going with nightly already due to the problems fitting Futures 0.1 model to our codebase. Very nice to hear.
- steveklabnik 7y agoThe proposed syntax has already landed in nightly, so you could use it right now if you wanted, by the way.
- pimeys 7y agoI've been trying a couple of approaches already, but first we're aiming correctness and after that async/await. Many libraries use tokio::spawn behind the scenes, so it seems we need compat from 0.1 to 0.3 and back to 0.1 to get old futures to work with async/await and the resulting futures to work in 0.1 tokio. Last time I checked the async/await feature in tokio had some weird crashes and tokio::spawn crashes when used inside romio...
- fxfan 7y ago"later this year".. please don't be shy Steve- just say it out loud - "when await arrives"- you'd be the last person to be blamed for circle jerk
- neilv 7y agoNo need for a Pi -- you can play with Rust on your main laptop/desktop, installed in your home directory, and it might be a bit easier and more accessible that way. A few caveats: * Rust is getting really big and complicated. The basic borrow checking was pretty neat and accessible (except for hard cases), but a ton of other stuff has been added. Appreciate that getting through it all is difficult, and don't be discouraged. (I think discouragement is one of the biggest barriers to learning a programming topic, for no good reason.) * Consider starting by writing command-line utilities you would like to have. If you instead decide to start with a GUI UI or full-screen character terminal UI crate (package), you might find that they tend to use a lot of Rust features in their APIs (perhaps necessarily), and you might also have to work around complicated ownership&lifetimes because of the model of the crate. This is an unusual barrier. * Rust is really a systems programming language. To fully appreciate Rust, you have to need that performance, and know how much more difficult it is to write correct code in C (it's even harder than most C programmers think). But, for Web development, Rust might still come in handy for for high-performance backend work, and possibly later for full-stack (where maybe you won't have to write any JS bits on the frontend, because WASM).
- mamcx 7y agoI think rust is very close to be "flask-like" (ie: to build REST APIs and some small-medium site) but not close to "Django-like".