A safe, concurrent practical programming language from Mozilla
Rust's design is oriented toward concerns of “programming in the large”, that is, of creating and maintaining boundaries – both abstract and operational – that preserve large-system integrity, availability and concurrency.
Rust supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles.
In addition, Rust supports generic programming and metaprogramming, in both static and dynamic styles.
Rust is cross-platform and it works on Mac OS X, Windows and Linux.
- Compilation model: batch, ahead-of-time, C/C++ compatible
- Type system: static structural-algebraic, with metadata
- Type inference: yes, only local variables
- Generic types: yes, only simple, non-turing-complete substitution
- Concurrency: isolated tasks, message passing
- Unique pointers: move semantics, no races or sharing
- Memory safety: no buffer overflow, use before init, NULL or free()
- Immutability: immutable by default, mutability is the special case
- Garbage collection: optional, per-task, only "shared" types
- Error handling: isolated tasks, unrecoverable unwinding
- Text: utf8 strings, ucs4 characters
- Tier 1 platforms: Linux, OSX, Windows
In a hurry? Add it to your Download Basket!
What's New in version 0.11.0
- 1700 changes, numerous bugfixes
- ~[T] has been removed from the language. This type is superseded by the Vec type.