TT Rust

Aus Wiki CCC Göttingen
Zur Navigation springen Zur Suche springen

Dies ist die Seite zum geplanten Thunder Talk über die Programmiersprache Rust.

Der Vortrag ist voraussichtlich etwa 45 Minuten langm und fokussiert sich darauf, wie Rust Speichersicherheit garantieren kann, ohne dass das zu viel Overhead kostet. Die Sprache wird wie C und C++ zu den System-Programmiersprachen gezählt und stellt als solche eine der wenigen dar, die Dinge wie Speichersicherheit und Freiheit von Datenrennen garantieren kann. Die Verwendung von Typinferenz lässt Quellcode trotz der statischen Typisierung relativ dynamisch aussehen. Typen müssen in der Regel nur bei Funktionssignaturen genannt werden. Im folgenden ein Beispiel namens "99 bottles of beer":

fn bottles(n: int) -> ~str {
   match n {
      0 => { "no more bottles of beer".to_owned() }
      1 => { "1 bottle of beer".to_owned() }
      x => { format!("{} bottles of beer",x) }
   }
}

fn main() {
   for i in range(0, 100).rev() {
      println!("{0} on the wall, {0}.",bottles(i));
      let nexti =
         if i>0 { print!("take one down and pass it around"); i-1 }
         else   { print!("go to the store and buy some more"); 99 };
      println!(", {} on the wall.",bottles(nexti));
   }
}

Von hier aus werden später auch die Vortragsfolien verlinkt.