3 ms·
I'm also in a similar boat but my primary thing being that I learn by doing and since it's branded as "system programming" I immediately think of big projects l
by shriek 10y ago
I'm also in a similar boat but my primary thing being that I learn by doing and since it's branded as "system programming" I immediately think of big projects like kernels and drivers.
I wish there were some small projects that I could do apart from just doing "project euler" that would be helpful to me. I even bought raspberry pi to learn rust but don't quite know what to do with it and rust.
- steveklabnik 10y agoMakes sense! Have you seen http://www.chriskrycho.com/2016/using-rust-for-scripting.html http://www.chriskrycho.com/2016/using-rust-for-scripting.htm... ? Maybe something like that can be of inspiration.
- nostrademons 10y agoThere are a large number of projects on Cargo that maybe-perhaps do something useful, but don't get much love in the testing/documentation/polish department since the authors tend to move onto other projects. My personal wish list: Varints: https://crates.io/crates/varint https://crates.io/crates/varint Bloom filters: https://crates.io/crates/bloom https://crates.io/crates/bloom Iron: https://github.com/iron/iron https://github.com/iron/iron All the accessories for Iron: authentication middleware, integration with OAuth2, cookie-signing, integration with templating systems, etc. Also, an omakase framework (like Django or Rails) that pulls together a bunch of useful libraries into one crate that you can just use (with good docs) and not have to wire everything up. Websockets: https://github.com/cyderize/rust-websocket https://github.com/cyderize/rust-websocket or https://github.com/housleyjk/ws-rs https://github.com/housleyjk/ws-rs Server-sent events. I don't see a good alternative for these yet. ElasticSearch: https://github.com/benashford/rs-es https://github.com/benashford/rs-es or https://github.com/erickt/rust-elasticsearch https://github.com/erickt/rust-elasticsearch or https://github.com/KodrAus/elasticsearch-rs https://github.com/KodrAus/elasticsearch-rs An easy documentation/website generator for small libraries, that pulls examples, tests, and README files out of GitHub, runs RustDoc, and generates a professional-looking website that provides all the info that you need to get started with a library, with a minimum of extra effort for the library author. Basically, automate the job of going through libraries built to scratch someone's personal itch and "productizing" them. Any of these could be a good project for a beginner, since there's already a lot of existing code to learn from, a small well-defined task, and an existing maintainer who has an incentive to help. Basically, just take a library, try to use it in a small test program (Linus's Law: "Never try to make a big important program. Always start with a small trivial program, and work on improving it"), and if anything is difficult or doesn't work right, figure out how to make it less difficult for the next person who runs across it and submit a pull request with that. As an added bonus, you can learn a lot of domain knowledge or basic CS data structures through digging through this, and that transfers to programming outside of Rust.
- bquinlan 10y agoThis might be too much like Project Euler but I started by solving some common interview problems using Rust. Try solving the problems without looking at the solutions first: https://github.com/brianquinlan/learn-rust https://github.com/brianquinlan/learn-rust Here is a rough rank of difficultly: https://github.com/brianquinlan/learn-rust#understandability https://github.com/brianquinlan/learn-rust#understandability