Skip to content

argodevops/learning-rust

Repository files navigation

learning-rust

Repository of examples to help with learning Rust.

The Rust Lang Book https://doc.rust-lang.org/stable/book/title-page.html.

This repo follows the YouTube Let's Get Rusty series https://www.youtube.com/playlist?list=PLai5B987bZ9CoVR-QEIN9foz4QCJ0H2Y8 which goes over every chapter of the Rust book. The repo is split into sections covering the aspects of the Rust language with snippets of Rust code.

Rust Goals

The goal of Rust is to be a good programming language for creating highly concurrent, safe and performant systems.

"Rust is a systems programming language focused on three goals: safety, speed, and concurrency." __ Rust Documentation

Rust is very young and very modern language. It is a compiled programming language and it uses LLVM on the backend. Also, Rust is a multi-paradigm programming language, which supports imperative procedural, concurrent actor, object-oriented and pure functional styles. It also supports generic programming and metaprogramming, in both static and dynamic styles.

🔎 One of Rust’s most unique and compelling features is Ownership, which is used to achieve memory safety. Rust creates memory pointers optimistically, checks memory pointers’ limited accesses at compile-time with the usage of References and Borrowing. And it does automatic compile-time memory management by checking the Lifetimes.

Influences

Its design elements came from a wide range of sources.

  • Abstract Machine Model: C
  • Data types: C, SML, OCaml, Lisp, Limbo
  • Optional Bindings: Swift
  • Functional Programming: Haskell, OCaml, F#
  • Attributes: ECMA-335
  • Memory Model and Memory Management: C++, ML Kit, Cyclone
  • Type Classes: Haskell

Rust doesn't use an automated garbage collection system(GC) by default.

Rust compiler observes the code at compile-time and helps to prevent many types of errors that are possible to write in C, C++ like programming languages.

Installing Rust

curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh

Sections

About

Repository of examples to help with learning Rust.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages