FOSSMeet 2017

FOSSMeet is an annual event at NIT Calicut that brings together the Free and Open Source Community from around the country.

An introduction to the Rust Programming Language (Workshop)

Submitted by Pramode C.E (@pramode75) on Friday, 2 December 2016

videocam_off

Technical level

Intermediate

Status

Confirmed & Scheduled

View proposal in schedule

Vote on this proposal

Login to vote

Total votes:  +10

Abstract

Low-level systems programming is dominated by two languages, C and C++. Even though there are dozens of programming languages out there, if you wish to write some embedded systems code or design an operating system kernel, you really have no choice beyond C/C++.

Writing safe and secure code in C/C++ is extremely challenging. Buffer overflows, dangling pointers, use-after-free, null dereferences: these are defects found in abundance in any large C/C++ codebase. Languages like Java, Python etc solve some of these issues through automatic memory management; but that makes these languages unsuitable for writing close-to-the-metal programs like operating system kernels or embedded systems software.

Mozilla Rust is a programming language in which you can write all kinds of low-level code without any of the memory unsafety issues present in C/C++; the code will also run as fast as C/C++. Rust achieves this through some innovative ideas obtained from research in static type systems. This workshop will provide a hands-on introduction to the Rust programming language to participants who have some exposure to C and C++.

Outline

Here are some of the topics which will be covered:

  • Rust basics - static typing, type inference, functions, basic data types, control structures
  • Sum and Product types
  • Pattern Matching
  • Generics, Traits
  • Iterators, Closures
  • Zero Cost Abstractions
  • Ownership, Borrowing and Lifetimes
  • Unsafe code

Speaker bio

I am a Free Software enthusiast from Trichur(Kerala). More details: http://pramode.net, http://pramode.in

Links

Comments

Login with Twitter or Google to leave a comment