Principles of Programming Languages notes

notes for the course CS F301 Principles of Programming Languages

Rust

Programming Concepts

Variables and Mutability

Data Types

Functions

Comments

Control Flow

Ownership

What is Ownership?

References and Borrowing

Slices

The concepts of ownership, borrowing, and slices ensure memory safety in Rust programs at compile time.

Enums and Pattern Matching

Enums:

Packages and Crates:

Traits and Generics:

Error Handling:

Notes

  1. Getting Started -> Ignore mostly
  2. Common programming concepts important
  3. Understanding ownership Slice type is important
  4. Using structs to structure related data
    1. mildly important chapter. just skim through it
  5. Enums and Pattern matching - VERY IMPORTANT
  6. Packaging, states and modules // VERY IMPORTANT - how is this different from c++
  7. Maps
  8. Error Handling Important //difference from Haskell
  9. Generic types, traits and Ifetime /MOST IMPORTANT CHAPTER
  10. Iterators and closures
  11. Smart pointers /IMPORTANT > Exiension of ownership model
  12. Just skim over concurrency, not very imp