Mozilla Introduces Version 0.1 of its Rust Programming Language

By Kshitij Sobti Published Date
26 - Jan - 2012
| Last Updated
26 - Jan - 2012
Mozilla Introduces Version 0.1 of its Rust Programming Language

No, this is not yet another alternative to JavaScript, instead Rust is a new programming language designed for desktop applications.

According to the Rust website "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."

Currently Mozilla has no plan to rewrite Firefox in Rust, rather they intend to use Rust "as a platform for prototyping experimental browser architectures" and to develop a new browser that has better parallelization. They have named this project Servo.

Rust has been in development since as far back as 2006, and Mozilla only got involved in 2009. Since then this language has been developed, mostly in the background. It wasn't hidden, or a secret, just not as widely promoted, or promoted at all.

Now the Rust developers feel that the language is ready for the public to see; perhaps not for the average developer, but for those interested in new programming languages and programming language design.

The language is currently far from stable, and it is still possible -- likely even -- that programmes written today will not work in the future. The standard libraries that ship with the language are especially likely to change a lot. The current state of the language according to the announcement is:

  • Language features working:

    • Unique pointers, unique closures, move semantics
    • Interface-constrained generics
    • Static interface dispatch
    • Stack growth
    • Multithread task scheduling
    • Typestate predicates
    • Failure unwinding, destructors
    • Pattern matching and destructuring assignment
    • Lightweight block-lambda syntax
    • Preliminary macro-by-example
  • Compiler works with the following configurations:

    • Linux: x86 and x86_64 hosts and targets
    • MacOS: x86 and x86_64 hosts and targets
    • Windows: x86 hosts and targets
  • Cross compilation / multi-target configuration supported.

  • Preliminary API-documentation and package-management tools included.

If you are still interested in the project, you can check out the code from its GitHub page or download it from the link in the announcement mail itself. More information about the language can be found on the programmming language's website.