Rust Programming Langauge

#programming-language

A modern alternative to C and C++ for system programming.

Why?

Articles / Talks

Books

Experience reports

Papers / reports

Videos / Talks

Blogs

Learning Resources

META


Courseware

Libraries and tools

WASM

Applications

To study code, library usage etc.,

Editor setup

Performance

Memory Management

References and borrowing

Lifetimes

Async / Await

Web

Embedded

This book is an “introductory course” on microcontroller-based “embedded systems” that uses Rust as the teaching language rather than the usual C/C++.

Comparisons (Rust vs X)

FFI

Discussions

Cargo

Best Practices / Tips

Hardware / bare metal


Rolling log of things

2017-09-08:

There is a new book – Programming Rust by Jim Blandy, and Jason Orendorff. Jim Blandy has also written a concise short book Why Rust [PDF]

Rust is currently unable to call directly into a C++ library; so that way Rust is probably behind D.

Rust, by design, makes certain programming patterns more painful than others. This is a GOOD thing! It turns out that, for game development, the patterns that end up being the easiest to deal with in Rust closely mirror the patterns that are easiest for game development in any language. Rust highly rewards data-oriented design with simple, understandable ownership semantics, and this is great news because this is a really good fit for game development.


Rust vs Python

Rust vs Java for rest services

via reddit

I gave a talk (video) today about “Rust for Java programmers” at my local java users group. Part of the talk was comparing the implementation of a minimal rest service in a container for the following 4 approaches:

  1. Payara-micro (JEE/JAXRS)
  2. Wildfly-swarm (another JEE/JAXRS micro deploy)
  3. Javaspark (non JEE “lightweight” framework)
  4. Rust-rocket

The comparisons are striking, viewed in the same 1/2/3/4 sequence above:

Nice job, Rocket! (results are unscientific. fight me) – Source code

Success Stories

We had a similar challenge supporting sending this many notifications at OneSignal, which we solved using Rust. We recently hit a peak of 850 Million notifications per second, and 5 billion notifications per day. Here’s a blog post on how we do it. Written back when we were at “only” 2 billion notifications per week: https://onesignal.com/blog/rust-at-onesignal/


See also: Rust 2018, Rustbelt Rust 2017

References
arxiv:1702.02951

{Blanco-Cuaresma} S., {Bolmont} E.: {What can the programming language Rust do for astrophysics?}. (2017)