Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I write Clojure every day and love it. I'm interested in learning Rust, but I'd like to learn it via a project that I couldn't do effectively in Clojure. Any ideas?


There aren't that many things you can't do in Clojure, the main place Rust has an edge is in efficiency. I plan on doing an Avro implementation but other projects (mostly work-related) have a higher priority.

In terms of larger projects, the Servo guys always seem to encourage people learning Rust to get involved. One of the projects I'm most interested in is Frank McSherry's timely/differental dataflow repos. I wanted a Rust implementation of Naiad when I first read the paper so I was quite pleased to see one of the authors do an implementation, even if it doesn't seem to be a full time pursuit.

[1] https://github.com/frankmcsherry/timely-dataflow/

Most first-rust-projects that are announced on reddit/discourse seem to be games (Piston), simple web apps, raytracers, or datastructures.


I love Clojure but it's unsuitable for realtime problems because of GC. For example, a programmable audio synthesizer. Audio signal processing has to be realtime or else it can't sync with the music playing. Rust may not be suitable for that either, but it seems like it's much closer to being able to do that than Clojure will be anytime soon.


It's not something I've explored or really care to pursue, but I've sat though at least a half dozen talks on audio synthesis in Clojure including one by Rich himself. They do signal generation in Clojure that feeds data into another system that does the real-time portion.

I agree that Clojure isn't suited to hard real time systems and it's not hard to come up with drawbacks to the above approach but you just happened to pick an example that a lot of people in the Clojure community seem to care about.


> feeds data into another system that does the real-time portion

Well of course that's a technique but "another system" isn't Clojure. It does so happen that a Lisp language is especially fluent for programming audio processors because of its compiler-like expressions and macros.


Can you do it in C? Because if you can, then you can do it in Rust.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: