Introduction to the Rust Programming Language – Rust Models Part 1-5

csiac-podcast-rust-models-part-1.jpg

Presented: June 2, 2020 11:00 am
Presented by: Dr. Jim Fawcett

Rust is a fairly new programming language with the goal of being a safe systems programming language. “Safe” means code generated by Rust is free of memory access and data race vulnerabilities. System programming language means that Rust programs are fast and able to use platform resources.

This 5-part video series entitled Rust Models by Dr. James Fawcett, describes different conceptual models that underlie the Rust programming language. Discussion with exemplars is used to illustrate how the models describe aspects of the language for effective use. In this series, five core fundamental models are presented:

  • Type Safety
  • Ownership
  • Object Model
  • Generics
  • Code Structure

This video provides an introduction and a brief overview of the Rust Programming Language. It covers the prerequisites required for getting started. This includes: the setup of a development environment using Visual Studio Code, and the Rust package manager and build tool known as “Cargo.”

Ownership Model – Rust Models Part 2

Rust is a fairly new programming language with the goal of being a safe systems programming language. “Safe” means code generated by Rust is free of memory access and data race vulnerabilities. System programming language means that Rust programs are fast and able to use platform resources.

This 5-part video series entitled Rust Models by Dr. James Fawcett, describes different conceptual models that underlie the Rust programming language. Discussion with exemplars is used to illustrate how the models describe aspects of the language for effective use. In this series, five core fundamental models are presented:

  • Type Safety
  • Ownership
  • Object Model
  • Generics
  • Code Structure

Discusses the Rust Language Ownership model which uses a type safety policy for avoiding undefined program behavior. The Rust type system ensures memory safety and prevents data races in multi-thread programs. The language rules for program variable (data) mutation, and the differences between value copies and moves is discussed in detail. Variable data is, by default, immutable. Variables must be annotated with the “mut” keyword in order to be modified.

https://youtube.com/watch?v=Efphh_qfbUU%3Ffeature%3Doembed

Object Model – Rust Models Part 3

Rust is a fairly new programming language with the goal of being a safe systems programming language. “Safe” means code generated by Rust is free of memory access and data race vulnerabilities. System programming language means that Rust programs are fast and able to use platform resources.

This 5-part video series entitled Rust Models by Dr. James Fawcett, describes different conceptual models that underlie the Rust programming language. Discussion with exemplars is used to illustrate how the models describe aspects of the language for effective use. In this series, five core fundamental models are presented:

  • Type Safety
  • Ownership
  • Object Model
  • Generics
  • Code Structure

This video discusses the Rust Object model and language facilities for representing user-defined types. Rust does not have support for classes, but does provide structs, which are similar to classes used in other object-oriented languages like C++. “Traits” are similar to interfaces or abstract classes and support polymorphic operations.  Rust provides encapsulation of data members and access control through the use of the “pub” keyword which specifies whether members of a struct are accessible to clients.

https://youtube.com/watch?v=eT7m0RT86ls%3Ffeature%3Doembed

Generic Types – Rust Models Part 4

Rust is a fairly new programming language with the goal of being a safe systems programming language. “Safe” means code generated by Rust is free of memory access and data race vulnerabilities. System programming language means that Rust programs are fast and able to use platform resources.

This 5-part video series entitled Rust Models by Dr. James Fawcett, describes different conceptual models that underlie the Rust programming language. Discussion with exemplars is used to illustrate how the models describe aspects of the language for effective use. In this series, five core fundamental models are presented:

  • Type Safety
  • Ownership
  • Object Model
  • Generics
  • Code Structure

This video discusses Rust “Generic Types”, a language facility for defining types that depend on a parameter specified at compile time. Rust Generics are similar to generic types used in Java and C#, but unlike C++ templates which support specialization.

https://youtube.com/watch?v=8xli8zCbGi8%3Ffeature%3Doembed

Code Structure – Rust Models Part 5

Rust is a fairly new programming language with the goal of being a safe systems programming language. “Safe” means code generated by Rust is free of memory access and data race vulnerabilities. System programming language means that Rust programs are fast and able to use platform resources.

This 5-part video series entitled Rust Models by Dr. James Fawcett, describes different conceptual models that underlie the Rust programming language. Discussion with exemplars is used to illustrate how the models describe aspects of the language for effective use. In this series, five core fundamental models are presented:

  • Type Safety
  • Ownership
  • Object Model
  • Generics
  • Code Structure

This video discusses structure and organization of Rust projects. Crates and packages (modules) are the building blocks for Rust programs. Programs are composed of sources organized into packages that consist of a directory built with the Cargo build tool.

https://youtube.com/watch?v=LI44nlvdWXo%3Ffeature%3Doembed

Computer Icon

Host a Webinar with CSIAC

Are you interested in delivering a webinar presentation on your DoD research and engineering efforts?

Want to find out more about this topic?

Request a FREE Technical Inquiry!