
Practical Networked Applications in Rust, Part 1: Non-Networked Key-Value Store - ngaut
https://arveknudsen.com/posts/practical-networked-applications-in-rust/module-1/
======
cpursley
Interesting! I'd love to take a structured distributed systems MOOC or course
in a modern language well suited for the domain like Rust, Go, Scala or
Elixir/Erlang. Does anyone know if something like this already exists?

~~~
lanekelly
MIT's 6.824 Distributed Systems course is taught in Go.

[https://pdos.csail.mit.edu/6.824/index.html](https://pdos.csail.mit.edu/6.824/index.html)

[https://www.youtube.com/playlist?list=PLpl804R-ZwjKCOwWpTZ21...](https://www.youtube.com/playlist?list=PLpl804R-ZwjKCOwWpTZ21eeaBS3uBrMfV)

~~~
zinclozenge
The company, PingCAP, that made the course in the linked article also ported
MIT 6.824 to Rust as part of their talent plan. You can check it out here
[https://github.com/pingcap/talent-
plan/tree/master/dss](https://github.com/pingcap/talent-plan/tree/master/dss)

------
civicsquid
I also worked through the courses in this series, up through Part 4.

I thought it was a great way to get introduced to Rust, especially when
concurrency comes into play. Having only ever written this sort of code in
C/C++/Java, the way Rust required me to rethink my design to properly
incorporate its concurrency model was really interesting to me.

For some reason sharing "references" in a formal way felt a lot different than
what I was used to, and I'm not sure why. I'd say I prefer it, perhaps because
it made my design feel more deliberate.

------
SpoofedHello
Question for Rust programmers, do you still use Rust for quick hacking and
exploration/prototyping or reach for another tool?

Rust is getting more attractive everyday, I wonder if there is something about
the language that highly influences lib authors to write quality stuff or if
the community has a high ratio of experienced devs.

~~~
asdkhadsj
> Question for Rust programmers, do you still use Rust for quick hacking and
> exploration/prototyping or reach for another tool?

I have replaced all my tooling with Rust, fwiw. Rewrote several things at work
with Rust _(which started this train for me lol)_ , and now all my projects
are in Rust as well.

I often say that Rusts complexity is oversold _(by myself, too, at times)_ ,
and it can be just as productive as Go, if used like Go. That is to say, Go is
often touted as being hyper productive because it takes decisions away from
you, such as Generics. You can apply the same tools to Rust, and suddenly you
lack a ton of features but also reduce the possible roadblocks you might be
wanting to avoid.

Personally I don't even avoid any Rust features these days, I use all of them
_(that I understand, at least lol.. which I think is all)_. I _more_
productive than in my Go days _(~5 years in Go, fwiw)_.

~~~
heavenlyblue
Do you use an IDE for Rust?

~~~
bluejekyll
I personally use VSCode with the Rust Language Server.

A lot of people seem to really enjoy the IntelliJ Rust plugin.

~~~
aknudsen
I use VS Code too, slightly curious about IntelliJ for Rust though since I
fundamentally like that environment.

~~~
pierreyoda
Their proprietary code analysis [0] is mostly better than the Rust Language
Server for now, even if I still use VS Code personally.

[0] [https://intellij-rust.github.io/](https://intellij-rust.github.io/)

------
morty_s
I’m currently reading through everything. It’s pretty cool, been seeing more
and more stuff like this lately.

It could serve as a great second or third project for someone learning rust
and the rust-ecosystem.

------
Scarbutt
Another nice(more lightweight) hands-on Rust tutorial that I came across with:
[https://docs.rs/csv/1.1.1/csv/tutorial/index.html](https://docs.rs/csv/1.1.1/csv/tutorial/index.html)

------
foobar_
How hard is it to build a c compiler with garbage collection and compile all
the the pre-existing code with safe garbage collection ?

~~~
mynegation
You don’t even need a compiler for this.
[https://en.m.wikipedia.org/wiki/Boehm_garbage_collector](https://en.m.wikipedia.org/wiki/Boehm_garbage_collector)

~~~
foobar_
I know about that one but can I compile mysql, httpd and all its dependencies
with it enabled? I don't care if it is 100x slow.

~~~
stormbrew
sure. free() just becomes a noop. But probably they'll leak a bunch because
conservative gc is kinda bad, doubly so in code that isn't made for it.

(it's really a little more complicated than that in codebases, like mysql,
that probably manage their own allocation and actually care about page level
stuff)

------
sittingnut
another rust hype article. with all that, readers of likes of hn, certainly
would have a skewed view of industry.

~~~
mcqueenjordan
Your comment isn't useful. Anything that ever becomes something was at one
point nothing. Rust gets attention because it's doing new things. Important
new things.

~~~
rgoulter
Yeah.

www.paulgraham.com/pypar.html In Python Paradox, the author argues that it's a
signal of quality that someone would take the time/effort to learn Python.
(Python is new and wouldn't land them a job).

Now in 2019, Python is popular. But I think it's fair to say instead that Rust
wouldn't be a good choice if you wanted to get a job using a language which is
popular in the industry.

~~~
paavohtl
From my experience people learning Rust are not people who are learning a
language to get a job. They are usually experienced developers with jobs who
know at least couple of languages, and learn Rust to expand their toolbox.

~~~
ps101
I'm learning Rust because:

1\. I want to add a low(er) level language to the ones I already know and use.

2\. Though I did some C/C++ in high school, getting really into depth with C++
at the moment seems really daunting.

3\. I don't need it for a job at this point so I can afford to learn a less
popular language that can potentially have a future and which exposes you to
new ways of thinking about code.

