Rust

System Programming Language

An introduction for C/C++ programmers

Part 1 - Move Semantics and Pattern Matching

Dan Aloni | @DanAloni

December 2018, Rust TLV Meetup

System Programming

  • Fine control over:
    • Memory allocations and layout: means no forced garbage collector and object management
    • Hardware access: threading and execution
  • Allow to control performance at any level
  • Allow the programmer control over generated machine code and flow
  • Let's program everything in assembly!
  • NOT...

Languages

  • We need a staticly typed, compiled language
  • Go: Has basic types, very limited generics, and GC
  • Java: Has memory management, generics, and GC
  • C: Too basic for our needs
  • C++: It is well established, has many advantages, but carries a lot of design baggage to the detriment that people often revert back to C
  • Rust: Let's consider it then! But compare it with what we know

Questions?

Thanks,

Dan Aloni | @DanAloni