夏休みに始める新しいこととして、いろいろあってRustが選ばれました。参考書は実践Rust入門[言語仕様から開発手法まで]です。
参考書の1章を読んだのですが、Rustの特徴を詳細に解説してくれており、これからがワクワクしてきました。C,C++と同レベルの速度パフォーマンスをもち、Rustのコンパイラが安全なプログラミングをサポートしてくれる、というところに魅力を感じます。これからそれらを体感していきたいです。職場の濃厚なソースをいつかRustでスッキリソースに置換していけたら最高だなと思います。
Rustとは
Mozillaが支援する[2][3]オープンソースのシステムプログラミング言語である。
Rust (プログラミング言語) - Wikipedia
Hello World
環境
pi@raspberrypi:~/Rust $ uname -a Linux raspberrypi 4.19.57-v7+ #1244 SMP Thu Jul 4 18:45:25 BST 2019 armv7l GNU/Linux pi@raspberrypi:~/Rust $ cat /proc/version Linux version 4.19.57-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) #1244 SMP Thu Jul 4 18:45:25 BST 2019 pi@raspberrypi:~/Rust $ lsb_release -a No LSB modules are available. Distributor ID: Raspbian Description: Raspbian GNU/Linux 9.9 (stretch) Release: 9.9 Codename: stretch
インストール
pi@raspberrypi:~/Rust $ curl https://sh.rustup.rs -sSf | sh info: downloading installer Welcome to Rust! This will download and install the official compiler for th language, and its package manager, Cargo. It will add the cargo, rustc, rustup and other commands to directory, located at: /home/pi/.cargo/bin This path will then be added to your PATH environment varia profile file located at: /home/pi/.profile You can uninstall at any time with rustup self uninstall an be reverted. Current installation options: default host triple: armv7-unknown-linux-gnueabihf default toolchain: stable modify PATH variable: yes 1) Proceed with installation (default) 2) Customize installation 3) Cancel installation >1 info: syncing channel updates for 'stable-armv7-unknown-lin info: latest update on 2019-07-04, rust version 1.36.0 (a53 info: downloading component 'rustc' 75.2 MiB / 75.2 MiB (100 %) 5.2 MiB/s in 30s ETA: 0s info: downloading component 'rust-std' 65.0 MiB / 65.0 MiB (100 %) 1.1 MiB/s in 33s ETA: 0s info: downloading component 'cargo' info: installing component 'rustc' 75.2 MiB / 75.2 MiB (100 %) 2.6 MiB/s in 39s ETA: 0s info: installing component 'rust-std' 65.0 MiB / 65.0 MiB (100 %) 3.2 MiB/s in 1m 33s ETA: info: installing component 'cargo' 4.2 MiB / 4.2 MiB (100 %) 3.1 MiB/s in 8s ETA: 0s info: default toolchain set to 'stable' stable installed - rustc 1.36.0 (a53f9df32 2019-07-03) Rust is installed now. Great! To get started you need Cargo's bin directory ($HOME/.cargo environment variable. Next time you log in this will be don To configure your current shell run source $HOME/.cargo/env
バージョン確認
pi@raspberrypi:~/Rust $ cargo --version cargo 1.36.0 (c4fcfb725 2019-05-15) pi@raspberrypi:~/Rust $ rustc --version rustc 1.36.0 (a53f9df32 2019-07-03) pi@raspberrypi:~/Rust $ rustdoc --version rustdoc 1.36.0 (a53f9df32 2019-07-03) pi@raspberrypi:~/Rust $ rustup --version rustup 1.18.3 (435397f48 2019-05-22)
パスの設定
pi@raspberrypi:~/Rust $ source $HOME/.cargo/env
ビルド
cargoはRustのビルドマネージャー兼パッケージマネージャです。
pi@raspberrypi:~/Rust $ cargo new hello Created binary (application) `hello` package pi@raspberrypi:~/Rust $ cd hello/ pi@raspberrypi:~/Rust/hello $ cargo build Compiling hello v0.1.0 (/home/pi/Rust/hello) Finished dev [unoptimized + debuginfo] target(s) in 9.29s
実行
pi@raspberrypi:~/Rust/hello $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.11s Running `target/debug/hello` Hello, world!
参考
UbuntuにRustをインストールする - Qiita
作業内容はこちらのコピーになっています。
Home | Rustの日本語ドキュメント/Japanese Docs for Rust
こちらにいろいろドキュメントはまとまっています。
Hello, World! - The Rust Programming Language
HelloWorldの詳細はこちらが参考になります。