Aviva Directory » Computers & Internet » Programming » Rust

Rust is a language for systems programming. Developed by the Rust Project at Mozilla in 2010, the language is focused on safety, particularly safe concurrency.

The designers refined the language while writing the layout for Servo, a web browser engine that takes advantage of the memory safety properties and concurrency features of Rust. The needs of Servo and the goals of Rust are well matched.

Free and open-sourced, the compiler is licensed under the Apache and MIT licenses, and is available for the Linux, macOS, and Windows platforms, as well as FreeBSD, OpenBSD, Redox, Android, and iOS.

The language resembles C and C++ in many ways, although many of the idioms from those languages don't apply, so the code itself doesn't look much like C or C++. It does, however, have the performance of C and C++. Rust gives developers control over the use of memory, maintaining a close relationship between the primitive operations of the language and those of the machines its programs will run on, allowing programmers to anticipate their code's memory costs. For this reason, the language is especially useful for systems programming, where every byte and every CPU cycle counts.

Rust is used in systems programming for operating systems, device drivers, filesystems, databases, cryptography, networking, media processing, media codecs, scientific simulations, and in game design. It is also used in memory management applications, such as implementing a garbage collector, in-text rendering, and in implementing higher-level programs.

Rust is not an object-oriented language, although it has some object-oriented characteristics. It is not actually a functional language, but it does make the influences on a computation's result more explicit, as functional languages do.

A number of industry-grade tools are available for Rust. Rustfmt is a tool for formatting Rust code according to style guidelines, ensuring consistent coding styles across developers. Cargo Doc is a Rust dependency manager and built tool that makes adding, compiling, and managing dependencies consistent across the Rust system. Clippy is a linter that catches issues and suggests improvements. The Rust Language Server (RLS) runs in the background, providing IDEs, editors, and other tools with information about Rust programs.

Topics related to the Rust program language, as well as any compilers, editors, or tools developed specifically for use in the language, are appropriate for this category, as are Rust tutorials, user groups, or other content.



Recommended Resources

Search for Rust on Google, Bing, or Yahoo!