Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Rust
Eine erste stabile Version von Compiler und Standardbibliothek, Rust 1.0, wurde am 15. Mai 2015 veröffentlicht.
Die Entwicklerumfrage von StackOverflow 2017 fand heraus, dass Rust das zweite Jahr in Folge die beliebteste Programmiersprache ist, was ausgesprochen beeindruckend ist.
-
- Rust - Rust is a systems programming language that runs blazingly fast, prevents almost all crashes*, and eliminates data races.
-
- https://users.rust-lang.org/ - User-Forum (englisch)
-
- https://chat.mibbit.com/?server=irc.mozilla.org&channel=%23rust-de - Deutscher Chat-Kanal
-
- Module und Bibliotheken
- Programmiersprache: Rust erreicht "Hunderte Millionen" Endnutzer - Nur rund zwei Jahre nach der ersten stabilen Version erreicht die Sprache Rust dank Dropbox, Mozilla und Gnome bereits "Hunderte Millionen" Endnutzer. Trotz dieser überzeugenden Zahlen soll die Sprache leichter genutzt werden können.
- Weniger Frust mit Rust - 25. Februar 2021, 7:00 Uhr - Die Programmiersprache Rust macht nicht nur weniger Fehler, sie findet sie auch früher.
-
-
-
- Seit der initialen Schöpfung hat das Projekt mehrfach das Team und die Ausrichtung gewechselt, aber inzwischen seine Nische gefunden. War die Sprache zuerst zur verteilten Programmierung gedacht, hat sie sich inzwischen weit davon entfernt und tritt eher als moderner C/C++-Ersatz an. Der Fokus auf parallele Programmierung und einem dazu geeigneten, auf "unique pointers" basierenden Typsystem ist jedoch geblieben. Die Sprache versucht den Spagat zwischen maschinennaher Programmierung und leistungsfähigen Abstraktionen. Der Name Rust stammt interessanterweise nicht etwa von Rost, sondern von einer besonderen Pilzsorte.
-
- Warum eine MIT-ASL2 Doppellizenz?
- Die Apache-Lizenz enthält wichtigen Schutz gegen Patentaggressoren, aber ist mit der GPLv2 inkompatibel. Um Probleme bei der Verwendung von Rust mit der GPLv2-Lizenz zu vermeiden, ist es alternativ MIT-lizenziert.
- Einführung
Rust nutzt als Backend das LLVM-Compilerframework. Damit läuft Rust-Code bereits jetzt auf vielen Architekturen. Der Rust-Code ist freie Software und steht unter einer Dual-Lizenz: Er kann entweder nach den Bedingungen der MIT- oder der Apache-Lizenz genutzt werden.
Kompromiss zwischen High- und Lowlevel-Programmierung
Bisher hatte es einerseits Highlevel-Programmiersprachen gegeben, in denen sich die Entwickler nicht um die Speicherverwaltung kümmern müssen, die aber in Sachen Performance nicht an C-/C++-Code heranreichen. Auf der anderen Seite gab es Lowlevel-Sprachen, deren Entwickler mit den bekannten Problemen der Speicherverwaltung kämpfen. "Rust ist eine Lowlevel-Programmiersprache, die sich oft wie eine Highlevel-Programmiersprache anfühlt", fasste Rust-Entwickler Steve Klabnik im vergangenen Jahr auf der All-Things-Open-Konferenz die Besonderheit von Rust zusammen.
Rusts Ansatz ist dabei, möglichst viele Fehler bereits bei der Kompilierung zu entdecken. Die Sprache ist so designt, dass fehlerhafter und unsicherer Code in vielen Fällen überhaupt nicht kompilierbar ist und dem Programmierer eine Fehlermeldung liefert. Rust solle somit, so Klabnik, die Lowlevel-Programmierung für Anfänger zugänglicher und für bereits erfahrene Lowlevel-Programmierer sicherer machen.
Wie fange ich an?
FreeBSD
Der Standard-Weg geht nicht:
[fritz@freebsd ~]$ wget -O - https://sh.rustup.rs | sh info: downloading component 'rustfmt' info: installing component 'cargo' error: error: 'sysinfo not supported on this platform' info: using up to 500.0 MiB of RAM to unpack components info: installing component 'clippy' error: error: 'sysinfo not supported on this platform' info: installing component 'rust-std' error: error: 'sysinfo not supported on this platform' ... info: installing component 'rustc' error: error: 'sysinfo not supported on this platform' ... info: installing component 'rustfmt' error: error: 'sysinfo not supported on this platform' info: default toolchain set to 'stable-x86_64-unknown-freebsd' stable-x86_64-unknown-freebsd installed - rustc 1.51.0 (2fd73fabe 2021-03-23)
also machen wir es zu Fuß:
[root@freebsd ~]# cd /usr/ports/lang/rust && make clean && make && make install ; make clean [fritz@freebsd ~]$ cargo install cargo-edit [fritz@freebsd ~]$ cargo new projekt01
jetzt können wir auch Module hinzufügen:
[fritz@freebsd ~/projekt01]$ cargo add ffprobe
Updating 'https://github.com/rust-lang/crates.io-index' index
Adding ffprobe v0.1.0 to dependencies
[fritz@freebsd ~/projekt01]$ vi hallo_welt.rs [fritz@freebsd ~/projekt01]$ cargo build
[fritz@freebsd ~/projekt01]$ vi src/main.rs [fritz@freebsd ~/projekt01]$ cargo run
Linux
https://www.rust-lang.org/learn/get-started
> apt install cinnamon-desktop-environment xterm mc vim screen autofs pluma curl libssl-dev > snap install code --classic > curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh > rustup component add rust-src > code => ''German Language Pack for Visual Studio Code'' installieren => ''rust-analyzer'' installieren => ''CodeLLDB'' installieren > cargo install cargo-edit
jetzt können wir auch Module hinzufügen:
> cargo add ffprobe
