30th March 2012, 12:13 PM
Join Date: Aug 2009
Mozilla released their first compiler.
Rust is a curly-brace, block-structured expression language. It visually resembles the C language family, but differs significantly in syntactic and semantic details. Its 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.
It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles. Rust also supports generic programming and metaprogramming, in both static and dynamic styles.
A short summary of features
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