Rust Programming Language : The Complete Reference.

Rust Ownership, The move operation in Rust, Rust Trait , Copy Trait , Rust References and Borrowing, Slices ,Vector.

3.00 (17 reviews)
Udemy
platform
English
language
Programming Languages
category
268
students
36 hours
content
Oct 2021
last update
$49.99
regular price

What you will learn

Students will learn the objectives of programming in general . Rust is an advanced modern programming language like Python and Golang etc. Worth learning.

The student is introduced to the basic concepts of programming . The basic building blocks of programming like variables, constants, functions are introduced.

The students are exposed to writing and running small sized programs to large project based application programs and even systems programming.

The student is encouraged to create mini projects like college projects and serious prototype projects needed in their professional fields.

Description

General Introduction . Rust is for Systems programming. Systems programming is used Operating Systems, Networking, File systems, Databases , Cryptography and much more. Rust is very popular with Concurrency, memory safety at compile time,  and multithreaded applications and type safety. Variables and mutability. By default variables are immutable in Rust. There is a concept called shadowing in Rust. We use println!() macro for printing. Macros are an extended version of functions. Data types. Automatic type casting is not allowed in Rust. Number separator for large numbers using underscores possible in Rust. The mut keyword is used for mutability. Rust strings are divided into string literals and string objects. Match statement is used in Rust like the switch case statement in C/C++. For returning values from functions we can use a single arrow --> like this to indicate a return type.

Parameters are passed to functions by value as well as by Reference  as in other languages. There is a concept called Rust Ownership. The move operation in Rust is similar to a shallow copy in other languages. We have the stack memory as well as the Heap memory. Rust trait is very much similar to the concept of interfaces in Object oriented programming languages. There is a concept called copy trait in Rust.

Rust References and Borrowing. Observe Rust does not have the idea of Garbage collection. There is nothing like Exception handling also in Rust. Rust slices. A slice is a pointer to a block of memory. String slices are literals. Rust  structure is similar to structures in other languages. Rust has Enums as well as Modules. Rust collections include Vector, Hash Map  and Hash Set. Rust Error handling . Recoverable and Unrecoverable errors in Rust. Panic macro and Unrecoverable errors. Generic types, Generic structures.

Content

Introduction

Rust Programming An Introduction to a latest modern programming language.

Variables and Mutability. By default variables are immutable in Rust.

Variables and Mutability. Variables are immutable in Rust. Keep mut to mutable.

Floating Point Types. Rust floating point types are f32 and f64 types.

Floating Point Types in Rust. Two types. The f32 and f64 . Default type is f64.

What is a Macro. Using Println!() macro syntax. Comments in Rust. single line.

Using println!() macro syntax. Macros as an extended version of functions.

Data types in Rust. Automatic type casting not allowed in Rust. Number separator

Data types in Rust . Automatic type casting not allowed in Rust, char data type.

Rust Constants Naming conventions. The naming conventions are similar to vars.

Rust Constant Naming Conventions. Unlike declaring variable let keyword not used

Rust Strings. String Literals and String Objects. String literal known as slices

Strings in Rust. String literals and String objects. String object : new, from()

Concatenation of strings with the + operator. A string value can be appended .

Concatenation of two strings with the + operator. .Internally uses an add() fn.

Rust Decision Making. if statement, if-else stmt, else if and nested , match etc

Decision making in Rust. if statement, if-else, else if and nested, match stmt.

Match statement in Rust. It is very similar to the switch statement in C lang.

Match statement in Rust. This is very similar to the switch statement in C.

Rust Control Statements. The for loop in Rust . for loop is a conditional loop.

Control statements in Rust. while loop and for loop in Rust. Conditional for .

Rust Functions. Defining a function in Rust. Invoking a function in Rust.

Functions in Rust. Defining a function. Invoking a function. Returning values.

Rust Array. Arrays in Rust. An array is a homogeneous collection of values.

Arrays in Rust. An array is a homogeneous collection of values of the same data.

Rust Ownership. Understanding Ownership. What is Ownership in Rust language.

Ownership in Rust. Understanding ownership. Moving ownership in Rust. Move ops.

Memory Allocation in Rust and ownership. Stack memory and Heap memory allocation

Memory allocation and ownership in Rust. Stack allocation and Heap allocation.

Rust References and Borrowing. After borrowing we have to return things back.

Rust Reference and Borrowing. Reference and Borrowing are mutual to each other.

Rust Slices. What is a slice. Slice is a pointer to a block of memory.

Rust slices. A slice is a pointer to a block of memory. Size of slice at runtime

String slices are literals. String literals are stored in binary . Immutable.

String slices are literals. String literals are immutable , immutable reference.

Rust Structure. A structure is a user defined data type with differing datatypes

Structures in Rust. Structure is a user defined datatype with differing datatype

Syntax of Structure. How to declare an instance of a structure. key :value pair

Syntax of Structure .. How to declare an instance of a structure. key value pair

Rust Enums. An enumerated type is declared using the enum keyword. Syntax enum.

Rust enum. An enumerated type is declared using the enum keyword. Custom type.

Concise control flow with if let. Rust Modules. It is a logical group of code .

Concise control flow with if let. Modules in Rust . A logical group of code.

Defining a Module. Modules contains functions that contain parameters also.

Defining a module. Modules contains functions. Usage of the use keyword.

Rust Collections. Commonly used collections : Vector, Hash Map & Hash Set .

Rust Collections. commonly used are Vector, HashMap and HashSet. Vector can grow

HashMap. A map is a collection of key-value pairs called entries. Map lookup tbl

Hash Map. A map is a collection of key-value pairs. Hash map and hash table.

Rust Error Handling. Two types of errors . Recoverable and Unrecoverable errors.

Error handling in Rust. Two types of errors. Recoverable & Unrecoverable errors.

Recoverable and Unrecoverable Errors .. Panic Macro and Unrecoverable errors .

Recoverable and Unrecoverable Errors. Panic macro stops the program execution.

More explanations on Recoverable errors. Recoverable errors do not stop the prgm

Explanations on Recoverable errors. Recoverable errors do not stop program run.

Generic Types. Generic Structures. Traits. Traits are like interfaces in Oops.

Generic Types. Generic Structures. Traits are like interfaces in Oops languages.

Reading From the Console : stdin() . Rust can read values from keyboard .

Reading from Console : stdin(). Reads from the standard input keyboard to print.

Rust Package Manager .Cargo is the package manager for Rust. Manages projects.

Rust Package Manager. Cargo is the package manager for Rust. Manages Rust prjts.

Rust Closure. Closure refers to a function within another function. Anonymous fn

Rust Closure. Closure refers to a function within another function. Anonymous fn

Rust Smart Pointers. A Smart Pointer is a data structure that behaves like a ptr

Rust Smart Pointers. A smart pointer is a data structure that behaves like a ptr

Deref<T> . Deref<T> trait is used to customize the behavior of dereference optr.

Deref<T>. Deref<T> trait is used to customize the behavior of dereference opertr

Drop trait : Smart Pointers. Drop trait is used to release the resources , file.

Drop trait . Smart Pointers. Drop trait is used to release resources like file.

RefCell<T> . RefCell<T> represents the single ownership over the data .

RefCell<T> represents the single ownership over the data that it holds.

Rust Concurrency. In this different parts of a program execute independently.

Rust Concurrency. In this different parts of a program execute independently.

Programs Threads. The Rust standard library provides support OS-level thrreads

Programs in threads. OS level threads. Threads are made from spawn() function.

How to handle data races with mutex and arc. Data race occurs in competitions.

How to handle data races with mutex and arc. Mutex a container that locks data.

Rust Trait : Multiple trait bounds. Using + operator. Using where clause .

Rust Trait : Multiple trait bounds. Using '+' operator. Using where clause.

Rust Lifetime. Lifetime defines the scope for which a reference is valid .

Rust Lifetime. Lifetime defines the scope for which a reference is valid.

Screenshots

Rust Programming  Language : The Complete Reference. - Screenshot_01Rust Programming  Language : The Complete Reference. - Screenshot_02Rust Programming  Language : The Complete Reference. - Screenshot_03Rust Programming  Language : The Complete Reference. - Screenshot_04

Reviews

Khadimhusen
January 25, 2023
Worst teaching style I have ever seen, instructor just keep reading notes. not explain any thing. even instructor not replying on Q&A. I asked him about what is macro and how to write own macro? but no response . Its better to read rust documents, don't wastes your time and Money.
Alvaro
February 7, 2022
I have several decades of experience using C++. However, I recognize the great difficulty in solving dynamic memory allocation problems. Rust is one way and Professor Mathew Kurian's course is an excellent indication. I learned a lot and I recommend it to everyone interested in this promising new programming language.

Charts

Price

Rust Programming  Language : The Complete Reference. - Price chart

Rating

Rust Programming  Language : The Complete Reference. - Ratings chart

Enrollment distribution

Rust Programming  Language : The Complete Reference. - Distribution chart
4341288
udemy ID
10/9/2021
course created date
10/19/2021
course indexed date
Bot
course submited by