Rust Programming Language

Rust is a programming language that focuses on performance, programming abstraction and security while keeping control on hardware.

Characteristics

Because it is compiled, low-level, static-typed and does not require a garbage collector, it can be considered a system programming language and it is suitable for operating system and video games programming.

These characteristics make it share a niche with C and C++ for hardware-close programming languages.

The advantages of Rust over these languages is that it has an easier memory allocation system, it is easier to learn and use and, unlike C, it supports object-oriented programming.

The disadvantages of Rust over C and C++ (and also other popular programming languages):

  • It may also be not as supported by devices than C or C++, taking into account that C is probably the most portable programming language and there is a compiler available for virtually all processors.
  • It is an emerging programming language it does not have yet a community and environment as strong as the other decades-old programming languages.
  • It offers abstraction features that may not be desirable in some specific scenarios where the developer is looking for an assembly code-programming language total correspondence.

History

It was created by software developer Graydon Hoare while he was working at Mozilla, and it was officially released in 2015. The Rust trademark is owned by the Rust Foundation.

License

It is free and open-source (FOSS) under an MIT and Apache 2.0 dual-license.

You can find a discussion on Rust dual-license on this external link.

Concepts

borrowing

lifetime

borrow checker

Type system

Rust uses generics as type system.

Memory management

The memory management model in Rust is based on ownership.

Rust Libraries

This section is about libraries for rust.

Game dev libraries

Rust game development libraries featured on this post:

  • Bevy
  • ggez
  • wgpy

Rust Development Tools

Featured tools for Rust:

  • Build tool + Package manager
  • Linker
  • Software framework

Build tool + Package Manager

Build tool + package manager applications:

  • Cargo

Cargo

Cargo is the official Rust package manager and build tool.

Linter

Rust linter featured on this post:

  • Clippy

Code Formatter

Code formatters featured on this post:

  • Rustfmt

Software Framework

  • Tauri

Tauri

Tauri is a software framework to create cross-platform applications.

Tauri uses Rust for the back-end programming.

Learning Rust

Web Courses

The following Rust courses are featured on this post:

  • Google’s “Comprehensive Rust” course

Google’s “Comprehensive Rust” Course

This course expects that you know the basics of programming.

You can find this course on this external link.

You might also be interested in…

Leave a Reply

Your email address will not be published. Required fields are marked *