What is Rust?

Small intro to a programming language, supported by Mozilla
18 August 2017   1295

Rust  is a multi-paradigm compiled general-purpose programming language sponsored by Mozilla Research. It supports:

  • functional programming,
  • actor model,
  • procedural programming.

Object-oriented programming is not supported by the language, but the it supports most OOP concepts with the help of other abstractions, for example, traits.

When developing, Rust developers focused on three tasks:

  1. security 
  2. speed
  3. parallelism 

It is suitable for system programming and is comparable in speed and capabilities with C ++, but it provides more security when working with memory, which is provided by the mechanisms of limitation. Rust is also aimed at achieving an "abstraction with zero cost".
After several years of active development, the first stable version (1.0) was released on May 15, 2015, after which the new versions are published every 6 weeks . For versions of the language released after 1.0, backward compatibility is declared.

Most popular projects, that uses Rust:

  • Mozilla - web browser
  • Dropbox - cloud storage tool
  • Tor - anonymous web browser
  • IOTA - cryptocurrency (according to the Coinmarketcap, it's on the 5th place with the marketcap of $2,662,653,814, on 17th of August).
  • Redox - operating system.

Also, this is a good tutorial - report about basics of Rust.

This tutorial assumes familiarity with basic programming concepts (loops, conditionals, functions) but will require no prior experience with strongly typed languages, Rust, or 
systems programming. You'll learn the key concepts necessary for successful  Rust programming, as well as how to continue exploring the language after LCA.

Mozilla to Release New Version of Rust

There're a lot of updates and new features in new version of programming language
15 April 2019   229

Mozilla released new version of Rust programming language, 1.34. The language focuses on safe memory management, provides automatic memory management and provides the means to achieve high parallelism in the execution of tasks, while avoiding the use of garbage collection and runtime.

Automatic memory management in Rust saves the developer from manipulating pointers and protects against problems arising from low-level work with memory, such as accessing the memory area after it is released, dereferencing null pointers, going out of the buffer boundaries, etc. To distribute the libraries, provide the build and manage the dependencies of the project, the Cargo package manager is developed, which allows you to get the necessary libraries for the program in one click. The library contains the crates.io repository.

These are main updates:

  • Added tools to work with alternative package registries that can coexist with the crates.io public registry in the Cargo package manager.
  • The section [registries] is provided for adding external registries to .cargo/config (located in $HOME or in the package directory), and the option "registry" appeared in Cargo.toml to use an external registry in the description of each dependency.
  • Added full support for using the ? Operator in doctests tests that allow the use of sample code from the documentation as tests. 

Get more info at official website.