3 ms·
Ask HN: Requested Rust libraries and/or interesting projects
I intend to dedicate some of my leisure time to increasing my
proficiency with Rust.
However, I am stymied for ideas. There are the classics:
Dijkstra’s, Floyd-Warshall, Traveling Salesman, A*, bloom filter,
breadth-first iterative search, binary search, K-way merge,
bubble/selection/insertion sort, in-place quick sort,
bucket/radix sort, closest
pair (https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.z04nk39y1)
but none of them are inspiring.
My own ideas have been limited to writing a shell, but I have
already done that in C, and a MIX-simulator, but I have already
written a MIPS32-simulator in Java. All my other ideas are poor
fits for Rust so I won't even mention them here.
Since other people beat me to implementing Protobuffers and
Flatbuffers (as well as Doom) I am stymied.
Therefore I ask you, is there any kind of library functionality
you miss, perhaps something that already exists in another
language, or do you have any suggestions for Rust-suitable
projects?
- fiedzia 10y agoNot much of a things that aren't there at all, but polishing existing libraries would be really useful. Many of them have substantial gaps in features. Of the things I looked at recently: email sending, network libraries, web frameworks, webservers (http2 and websockets integration is a big gap). Things I'd love to see implemented in rust: antl support, gegl, lucene, terminal ui toolkit, python, nltk
- nostrademons 10y agoYou probably would add the most value by improving the maturity level of existing libraries. Some that I've run across that exist but don't really give me much confidence in using them in production include: https://github.com/sbeckeriv/warc https://github.com/sbeckeriv/warc http://techern.github.io/Varint-rs/varint/index.html http://techern.github.io/Varint-rs/varint/index.html https://github.com/hyperium/hyper https://github.com/hyperium/hyper https://github.com/rusoto/rusoto https://github.com/rusoto/rusoto https://github.com/servo/html5ever https://github.com/servo/html5ever (largely on the performance front; on a recent test of GZip + WARC reading + HTML parsing, Kotlin (on the JVM) + WebArchive Commons + JSoup beat Rust + warc_nom_parser + html5ever by about 25%, which does not fit with Rust's reputation as a fast systems programming language) And libraries that I wish existed but which don't really have good options: Web crawling. Hyper is listed above as an HTTP library, but there's nothing like Apache Nutch which respects hostloads and robots.txt and works as a turn-key solution. RSS parsing. RSS serialization works, and people have written toy RSS readers, but nobody's written a robust, self-contained RSS parsing library. Machine learning. It was a shame when Autumn.io gave up Leaf. Big data. Create a Hadoop/Spark alternative in Rust and the world will love you, at least if you can beat Hadoop's reliability, performance, and ease-of-use.