Rustまとめ
Rust(ラストとよむ)まとめ.
- フェリスというカニをモチーフにしたキャラクター
特徴
- 🔖静的型付け言語
- 🔖コンパイル言語, 📝AOT compilation
- 変数は標準で不変
Rust設計思想
Rustの売り
システムプログラミングレベルの制御 + 関数型プログラミングの安全性 + ゼロランタイムコスト」を同時に実現したこと. 不可能と思われていた組み合わせを実現した.
- メモリ安全性
ゼロコスト抽象
高レベルな機能を使っても、手書きの低レベルコードと同じ性能が出ること.
コンパイラの最適化(LLVM).
Index
🔨Rust開発環境
~/.cargo/bin配下にあるツールの整理.
- rustc: コンパイラ.
- rustup: install/update tool.
🔧Cargo(rust/cargo)
RustのためのCUIビルドツール兼パッケージマネージャー. Cのmakeみたいなもの.
# プロジェクト生成
$ cargo new <hogehoge>
# パッケージ更新
$ cargo update
# ビルド
$ cargo build
$ cargo build --release
# 実行
$ cargo run
Crates.io
パッケージ管理サーバ. cargoはこのクライアントCLIでもある.
🔧rust-analyzer
📝Language Server Protocol for Rust.
開発が盛んでしょっちゅう更新が入る.
Rust Emacs開発環境
- rust-mode
- rustic: better rust-mode
- 📝Emacs コーディング支援(IDE)
- Rustプログラミングのための環境構築 | Emacs JP
- Emacs で Rustの開発環境を構築する話. どうも、僕です。 最近遅ればせながらRustをそこそこ書き始めました。… | by mopemope | Medium
Topics
🔖Rustacean
Rustを愛する人々.
💡RustはC/C++を置き換える
Rustといって耳にする話題がこれ. Linuxの開発言語がRustになる.
パニック
プログラムが実行時にエラー終了したことをしめすRust用語.
Insights
- 💭RustのファーストインプレはC言語開発を超絶モダンにしたもの(23/09/03)
- 💭メモリリーク/メモリ破壊で定時退社できずに深夜残業突入しまくりの怒りを思い出してRustの所有権を学ぶ(23/09/04)
- 💭Solana MEVで稼げるようになったらRustに挑戦しよう(24/01/19)
- 💭Atomic ArbのOrca対応はRustでやってもいいかも(24/02/07)
- 💭生成AI副業を諦めてAtomicArb Rust対応/CrossChainArbで引越しを目指す(24/12/31)
References
- official: Rustプログラミング言語
- プログラミングRust 第2版 - O’Reilly Japan, 680ページ?5000円?
- MIT Tech Review: 世界で最も愛される プログラミング言語 Rust誕生秘話, エレベーターの制御ソフトウェアがクラッシュしていた. ホアレは21階に住んでいた. 「私たちコンピューターに携わる人間が、故障せずに動くエレベーターすら作れないなんて!」こうしたクラッシュの多くが、プログラムによるメモリの使い方の問題に起因することをホアレは知っていた.
勉強法
- これまでと違う学び方をしたら挫折せずにRustを学べた話 / Programming Rust techramen24conf LT - Speaker Deck, t_wada
- 試行錯誤から学ぶはRustでは役に立たなかった.
- プログラミングRustの4, 5章. 所有権と参照を熟読したら急に理解できた.
- t_wadaさんが『プログラミングRust 第2版』の4章・5章でRustを突然理解したそうなので、私も読んでみる #techramen24conf - nikkie-ftnextの日記
📚The Rust Programming Langurage(The Book)
The Rust Book: 有名なオンライン書籍.
- https://github.com/rust-lang/book
- The Rust Programming Language - The Rust Programming Language
- The Rust Programming Language 日本語版 - The Rust Programming Language 日本語版
- Asynchronous Programming in Rust
- Embedeed Prgramming in Rust: https://docs.rust-embedded.org/book/