TT Rust: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Dies ist die Seite zum geplanten [[Lightning_Talks#Thunder Talks|Thunder Talk]] über die Programmiersprache [http://www.rustlang.org Rust]. | Dies ist die Seite zum geplanten [[Lightning_Talks#Thunder Talks|Thunder Talk]] über die Programmiersprache [http://www.rustlang.org Rust]. | ||
Der Vortrag ist voraussichtlich etwa 45 Minuten | Der Vortrag ist voraussichtlich etwa 45 Minuten lang 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 [https://en.wikipedia.org/wiki/System_programming_language 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 { | fn bottles(n: int) -> ~str { |
Version vom 29. Mai 2014, 11:34 Uhr
Dies ist die Seite zum geplanten Thunder Talk über die Programmiersprache Rust.
Der Vortrag ist voraussichtlich etwa 45 Minuten lang 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.