What is Rust?

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

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.

Microsoft to Develop Verona Programming Language

In the nearest future, the source code of the programming language based on Rust and desiged for secure apps will be opened under Apache 2.0
03 December 2019   183

Microsoft, as part of a pilot project Verona, is developing a new programming language based on the Rust language and focused on developing secure applications that are not prone to typical security problems. The source code of the current developments related to the project, in the near future it is planned to open under the Apache 2.0 license.

The article discusses the possibility of using the developed language, including for processing low-level components of Windows in order to block potential problems that pop up when using the C and C ++ languages. Code security is enhanced by automatic memory management, which saves developers from the need to manipulate pointers and protects against problems arising from low-level work with memory, such as accessing a memory area after it is freed, dereferencing null pointers and leaving the buffer boundaries.

The main difference between Verona and Rust is the use of a ownership model based on groups of objects, rather than single objects. Data in Verona is considered as structures representing collections of objects. Borrowing checks and ownership control are carried out in conjunction with a group of objects, which ensures security during manipulations with composite structures and better reflects the level of abstraction that is usually used in development.