理解#
一般的に、新しい言語を学ぶことを決定する前に、その言語の特徴や現在の発展状況を大まかに理解することが重要です。この時、Rust の公式サイト https://rust-lang.org を見ることをお勧めします。
Rust 公式ドキュメント#
Rust 言語の学習や参考文書は、主に Rust 学習指針ページ と Rust 公式ドキュメントホームページ に掲載されています。現在、Rust 公式チームは関連文書を異なるリポジトリに分割しています:
- 《Rust プログラミング言語》(The Rust Programming Language),対応 GitHub リポジトリ
- 《例を通して Rust を学ぶ》(Rust by Example),対応 GitHub リポジトリ
- Rust バージョンガイド(The Edition Guide),対応 GitHub リポジトリ
- Cargo ヘルプドキュメント,対応 GitHub リポジトリソースファイル
- rustdoc ヘルプドキュメント,対応 GitHub リポジトリソースファイル
- rustc ヘルプドキュメント,対応 GitHub リポジトリソースファイル
- Rust コンパイルエラーインデックス,対応 GitHub リポジトリソースコード
- 《Rust 言語リファレンス》(The Rust Reference),対応 GitHub リポジトリ
- The Rustonomicon,対応 GitHub リポジトリ
他にも公式または非公式の関連文書が多数あります:
- Rust でコマンドラインアプリを書く,対応 GitHub リポジトリアドレス
- Rust と WebAssembly のチュートリアル(WebAssembly Book),対応 GitHub リポジトリ
- 組み込み Rust チュートリアル,対応 GitHub リポジトリ
- A Rust Cookbook,対応 GitHub リポジトリ
- The Unstable Book,対応 GitHub リポジトリソースコード
- rustc ガイド ——Rust コンパイラの動作原理と貢献方法(rustc-guide),対応 GitHub リポジトリ
- rustup コマンド説明,本翻訳プロジェクトは
rustup
の関連説明を日本語に翻訳します - Rust RFC——Rust の発展に関する文書,対応 GitHub リポジトリ
- mdBook 使用マニュアル,対応 GitHub リポジトリ
- Rust API ガイドライン,対応 GitHub リポジトリ
- async-book,対応 GitHub リポジトリ
上記の文書のソースファイルの一部は、rust と cargo のリポジトリのサブディレクトリに置かれています:Rust ドキュメント と cargo ドキュメント。
Rust リソース#
Rust に関連する日本語リソース、ウェブサイト、または国内の Rust に関する記事や書籍。
Rust 関連の日本語ウェブサイト#
以下は現在収集した Rust 日本語ウェブサイトです:
Rust 言語日本語コミュニティ:https://rust.cc/
Rust Wiki:https://rustwiki.org/
Rust 言語用語中英対照表#
👉 一部は Rust 言語用語中英対照表 リポジトリからのもので、ここに収録されています。これは Rust 学習者が統一して参照するためのもので、誤りや改善点があれば、元のリポジトリで指摘または修正してください。
English 英文 | Chinese 中文 | Note 备注 |
---|---|---|
A | ||
Abstract Syntax Tree | 抽象構文木 | |
ABI | アプリケーションバイナリインターフェース | Application Binary Interface の略 |
accumulator | アキュムレーター | |
accumulator variable | アキュムレーター変数 | |
ahead-of-time compiled | 事前コンパイル | |
ahead-of-time compiled language | 事前コンパイル言語 | |
alias | エイリアス | |
aliasing | エイリアス使用 | 参見 Wikipedia |
angle brackets | 山括弧、「<」と「>」 | |
annotate | 注釈する(動詞) | |
annotation | 注釈(名詞) | |
ARC | 原子参照カウント | Atomic Reference Counter |
anonymity | 匿名 | |
argument | 引数、実引数 | 厳密に区別しない場合、argument(引数)と parameter(パラメータ)は互換的に使用可能 |
argument type | 引数の型 | |
assignment | 代入 | |
associated functions | 関連関数 | |
associated items | 関連項目 | |
associated types | 関連型 | |
asterisk | アスタリスク(*) | |
atomic | 原子的 | |
attribute | 属性 | |
automated building | 自動ビルド | |
automated test | 自動テスト | |
B | ||
baroque macro | バロックマクロ | |
benchmark | ベンチマーク | |
binary | バイナリの | |
binary executable | バイナリ実行可能ファイル | |
bind | バインド | |
block | ブロック | |
boolean | ブール型、ブール値 | |
borrow check | 借用チェック | |
borrower | 借用者 | |
borrowing | 借用 | |
bound | 制約、限定 | この単語は constraint と意味が近い constraint は C# 言語で「制約」と翻訳される |
box | ボックス、箱、ボックス型 | 一般的には翻訳しない、動詞としては「ボックス化」と訳す 所有権を持つスマートポインタ |
boxed | ボックス化 | |
boxing | ボックス化 | |
brace | 中括弧、「{」または「}」 | |
buffer | バッファ、バッファ領域、キャッシュ | |
build | ビルド | |
builder pattern | ビルダーパターン | |
C | ||
call | 呼び出し | |
caller | 呼び出し元 | |
capacity | 容量 | |
capture | キャプチャ | |
cargo | (Rust パッケージマネージャ、翻訳しない) | この単語が名詞のときは「貨物」を意味し、 動詞のときは「貨物を積む」を意味する |
cargo-fy | Cargo 化、Cargo を使用してプロジェクトを作成 | |
case analysis | ケース分析 | |
cast | 型変換 | |
casting | 型変換 | |
chaining method call | チェーンメソッド呼び出し | |
channel | チャンネル | |
closure | クロージャ | |
coercion | 強制型変換 | coercion の原意は「強制、脅迫」 |
collection | コレクション | 参見 Wikipedia |
combinator | コンビネータ | |
comma | コンマ、「,」 | |
command | コマンド | |
command line | コマンドライン | |
comment | コメント | |
compile | コンパイル(動詞) | |
compile time | コンパイル時 | |
compilation | コンパイル(名詞) | |
compilation unit | コンパイルユニット | |
compiler | コンパイラ | |
compiler intrinsics | コンパイラ固有機能 | |
compound | 複合(型、データ) | |
concurrency | 同時実行 | |
conditional compilation | 条件付きコンパイル | |
configuration | 設定 | |
constructor | コンストラクタ | |
consumer | コンシューマ | |
container | コンテナ | |
container type | コンテナ型 | |
convert | 変換、転換 | |
copy | コピー | |
crate | クレート、パッケージ | 一般的には翻訳しない、crate は Rust の基本的なコンパイルユニット |
curly braces | 中括弧、含む「{」と「}」 | |
custom type | カスタム型 | |
D | ||
dangling pointer | ダングリングポインタ | use after free の意味 |
data race | データ競合 | |
dead code | デッドコード、無効コード、到達不能コード | |
deallocate | 解放、再割り当て | |
declare | 宣言 | |
deep copy | ディープコピー | |
dependency | 依存 | |
deref coercions | 強制多態 | |
dereference | デリファレンス | Rust の記事では時々Deref と略される |
derive | 派生 | |
designator | 指示子 | |
destruction | 破壊、消滅 | |
destructor | デストラクタ | |
destructure | 解構 | |
destructuring | 解構、解構代入 | |
desugar | デス ugar | |
diverge function | 発散関数 | |
device drive | デバイスドライバ | |
directory | ディレクトリ | |
dispatch | ディスパッチ | |
diverging functions | 発散関数 | |
documentation | ドキュメント | |
dot operator | ドット演算子 | |
DST | 動的サイズ型 | dynamic sized type、一般的には翻訳しない 英語の略語形式を使用 |
dynamic language | 動的型付け言語 | |
dynamic trait type | 動的トレイト型 | |
E | ||
enumeration | 列挙 | |
encapsulation | カプセル化 | |
equality test | 等価テスト | |
elision | 省略 | |
exhaustiveness checking | 穷尽性チェック、漏れのないチェック | |
expression | 表現 | |
expression-oriented language | 表現指向言語 | |
explicit | 明示的 | |
explicit discriminator | 明示的な識別子 | |
explicit type conversion | 明示的型変換 | |
extension | 拡張子 | |
extern | 外部 | キーワードとしては翻訳しない |
F | ||
fat pointer | ファットポインタ | |
feature gate | 機能ゲート | |
field | フィールド | |
field-level mutability | フィールドレベルの可変性 | |
file | ファイル | |
fmt | フォーマット、format の略 | |
formatter | フォーマッタ | |
floating-point number | 浮動小数点数 | |
flow control | フロー制御 | |
Foreign Function Interface(FFI) | 外部言語関数インターフェース | |
fragment specifier | フラグメント指定子 | |
free variables | 自由変数 | |
freeze | フリーズ | |
function | 関数 | |
function declaration | 関数宣言 | |
functional | 関数型 | |
G | ||
garbage collector | ガーベジコレクタ | |
generalize | 一般化 | |
generator | ジェネレータ | |
generic | ジェネリック | |
generic type | ジェネリック型 | |
growable | 拡張可能 | |
guard | ガード | |
H | ||
handle error | ハンドルエラー | |
hash | ハッシュ、ハッシュ値、散列 | |
hash map | ハッシュマップ、ハッシュ表 | |
heap | ヒープ | |
hierarchy | 階層、階層構造 | |
higher rank lifetime | 高階ライフタイム | |
higher rank trait bound | 高階トレイトバウンド | |
higher tank type | 高階型 | |
hygiene | 衛生 | |
hygienic macro system | 衛生マクロシステム | |
I | ||
ICE | コンパイラ内部エラー | internal compiler error の略 |
immutable | 不変 | |
implement | 実装 | |
implementor | 実装者 | |
implicit | 暗黙の | |
implicit discriminator | 暗黙の識別子 | |
implicit type conversion | 暗黙の型変換 | |
import | インポート | |
in assignment | 代入中(文) | |
index | インデックス | 英語の複数形:indices |
infer | 推論(動詞) | |
inference | 推論(名詞) | |
inherited mutability | 継承された可変性 | |
inheritance | 継承 | |
integrated development environment(IDE) | 統合開発環境 | 日本語の著作では通常 IDE とそのまま書かれる |
integration-style test | 統合テスト | |
interior mutability | 内部可変性 | |
installer | インストーラー | |
instance | インスタンス | |
instance method | インスタンスメソッド | |
integer | 整数 | |
interact | 相互作用 | |
interior mutability | 内部可変性 | |
intrinsic | 固有の | |
invoke | 呼び出す | |
item | アイテム、項目 | |
iterate | 繰り返す | |
iteration | イテレーション | |
iterator | イテレーター | |
iterator adaptors | イテレーターアダプタ | |
iterator invalidation | イテレーター無効化 | |
L | ||
LHS | 左辺 | left-hand side の非公式略語、 RHS と対になる |
lender | 貸し手 | |
library | ライブラリ | |
lifetime | ライフタイム | |
lifetime elision | ライフタイム省略 | |
link | リンク | |
linked-list | 連結リスト | |
lint | (翻訳しない) | lint の本来の意味は「布、繊維」であり、この単語は コンピュータ分野ではプログラムコード内の疑わしい 構造のない部分を指す、参見 Wikipedia |
list | リスト | |
listener | リスナー | |
literal | リテラル、字面値 | 英語の意味:字面上の(内容) |
LLVM | (翻訳しない) | Low Level Virtual Machine の略、 コンパイラを構築するためのシステム |
loop | ループ | キーワードとしては翻訳しない |
low-level code | 低レベルコード | |
low-level language | 低レベル言語 | |
l-value | 左辺値 | |
M | ||
main function | main 関数、主関数 | |
macro | マクロ | |
map | マッピング | 一般的には翻訳しない |
match guard | マッチガード | |
memory | メモリ | |
memory leak | メモリリーク | |
memory safe | メモリ安全 | |
meta | 原則、メタ | |
metadata | メタデータ | |
metaprogramming | メタプログラミング | |
metavariable | メタ変数 | |
method call syntax | メソッド呼び出し構文 | |
method chaining | メソッドチェイニング | |
method definition | メソッド定義 | |
modifier | 修飾子 | |
module | モジュール | |
monomorphization | 単相 | mono: 一つ、morph: 形 |
move | 移動、転送 | Rust が規定する内容に従い、 英単語 transfer の意味が move よりも実際の記述に近い 参考:Rust by Example |
move semantics | 移動セマンティクス | |
mutability | 可変性 | |
mutable | 可変 | |
mutable reference | 可変参照 | |
multiple bounds | 複数の制約 | |
mutiple patterns | 複数のパターン | |
N | ||
nest | ネスト | |
Nightly Rust | Rust 開発版 | nightly の本来の意味は「毎夜、毎晩」で、 コードが毎日更新されることを指す |
NLL | 非語彙ライフタイム | non lexical lifetime の略、 一般的には翻訳しない |
non-copy type | 非コピー型 | |
non-generic | 非ジェネリック | |
no-op | ノーオペレーション、空操作 | (この単語は型変換の章に出現する) |
non-commutative | 非可換 | |
non-scalar cast | 非スカラー変換 | |
notation | 表記、記号 | |
numeric | 数値、数字 | |
O | ||
optimization | 最適化 | |
out-of-bounds accessing | 範囲外アクセス | |
orphan rule | 孤児ルール | |
overflow | オーバーフロー、範囲外 | |
own | 所有、持つ | |
owner | 所有者 | |
ownership | 所有権 | |
P | ||
package manager | パッケージマネージャ、ソフトウェアパッケージマネージャ | |
panic | (翻訳しない) | この単語の直接の翻訳は「パニック」で、 Rust では回復不可能なエラー処理に使用される |
parameter | パラメータ、形式引数 | 厳密に区別しない場合、argument(引数)と parameter(パラメータ)は互換的に使用可能 |
parametric polymorphism | パラメトリック多態 | |
parent scope | 親スコープ | |
parentheses | 括弧、「(」と「)」 | |
parse | 解析 | |
parser | (構文)パーサ、解析器 | |
pattern | パターン | |
pattern match | パターンマッチ | |
phantom type | 幻影型、ファントム型 | phantom に関連する専門用語: phantom bug 幻影バグ phantom power 幻影電源 参見:Haskell、Haskell/Phantom_type、 Rust/Phantom、stdlib/PhantomData |
platform | プラットフォーム | |
polymorphism | 多態 | |
powershell | (翻訳しない) | Windows システムのコマンドラインシェル およびスクリプト環境 |
possibility of absence | 存在しない可能性 | |
precede | 先行する?、... が発生する(または現れる) | |
prelude | (翻訳しない) | 事前にインポートされるモジュール、英語の本来の意味:序曲、前奏 |
primitive types | 原始型、基本型、単純型 | |
プリント | ||
process | プロセス | |
procedural macros | 手続きマクロ、プログラムマクロ | |
project | プロジェクト、工程 | |
prototype | プロトタイプ | |
R | ||
race condition | レースコンディション | |
RAII | リソース取得即初期化(一般的には翻訳しない) | resource acquisition is initialization の略 |
range | 範囲 | |
range expression | 範囲表現 | |
raw identifier | 生の識別子 | |
raw pointer | 生ポインタ、裸ポインタ | |
RC | 参照カウント | reference counted |
Reader | リーダー | |
recursive macro | 再帰マクロ | |
reference | 参照 | |
reference cycle | 参照サイクル | |
release | リリース | |
resource | リソース | |
resource leak | リソースリーク | |
RHS | 右辺 | right-hand side の非公式略語、 LHS と対になる |
root directory | ルートディレクトリ | |
runtime | ランタイム | |
runtime behavior | ランタイム動作 | |
runtime overhead | ランタイムオーバーヘッド | |
Rust | (翻訳しない) | 一種のプログラミング言語 |
Rustacean | (翻訳しない) | Rust を書くプログラマーまたは愛好者の総称 |
rustc | (翻訳しない) | Rust 言語コンパイラ |
r-value | 右辺値 | |
S | ||
scalar | スカラー、数量 | |
schedule | スケジュール | |
scope | スコープ | |
screen | スクリーン | |
script | スクリプト | |
semicolon | セミコロン、「;」 | |
self | 自身、キーワードとしては翻訳しない | |
shadow | シャドウ、隠蔽、隠す、オーバーライド | |
shallow copy | シャロウコピー、浅いコピー | |
signature | シグネチャ | |
slice | スライス | |
snake case | スネークケース | 参見:Snake case |
source file | ソースファイル | |
source code | ソースコード | |
specialization | ジェネリック特化 | |
square | 二次方、平方、二次幂 | |
square brackets | 中括弧、「[」と「]」 | |
src | (翻訳しない) | source の略、ソースコードを指す |
stack | スタック | |
stack unwind | スタックアンワインド | |
statement | ステートメント | |
statically allocated | 静的に割り当てられた | |
statically allocated string | 静的に割り当てられた文字列 | |
statically dispatch | 静的ディスパッチ | |
static method | 静的メソッド | |
string | 文字列 | |
string literal | 文字列リテラル | |
string slices | 文字列スライス | |
stringify | 文字列化 | |
subscript notation | 下付き記号 | |
sugar | 糖 | |
super | スーパ、キーワードとしては翻訳しない | |
syntax context | 構文コンテキスト | |
systems programming language | システムプログラミング言語 | |
T | ||
tagged union | タグ付き共用体 | |
target triple | ターゲットトリプル | triple の本来の意味は「三」だが、ここでは「多」を指す この単語の翻訳にはさらなる議論が必要 |
terminal | ターミナル | |
testing | テスト | |
testsuit | テストスイート | |
the least significant bit (LSB) | 最下位ビット | |
the most significant bit (MSB) | 最上位ビット | |
thread | スレッド | |
TOML | (翻訳しない) | Tom's Obvious, Minimal Language の略、 一種の設定言語 |
token tree | トークンツリー? | さらなる検討が必要 |
trait | トレイト | その字面上の意味は「特性、特徴」 |
trait bound | トレイトバウンド | bound は「制約、制限、限定」を意味する |
trait object | トレイトオブジェクト | |
transmute | (翻訳しない) | その字面上の意味は「変化、変形、変異」で、 翻訳しない |
trivial | 平凡な | |
troubleshooting | トラブルシューティング、 故障診断、故障排除、故障分析 | |
tuple | タプル | |
two's complement | 補数、二の補数 | |
two-word object | 二語オブジェクト | |
type annotation | 型注釈 | |
type erasure | 型消去 | |
type inference | 型推論 | |
type inference engine | 型推論エンジン | |
type parameter | 型パラメータ | |
type placeholder | 型プレースホルダー | |
type signature | 型シグネチャ | |
U | ||
undefined behavior | 未定義の動作 | |
uninstall | アンインストール | |
unit-like struct | 単位のような構造体 | |
unit struct | 単位構造体 | |
"unit-style" tests | 単体テスト | |
unit test | 単体テスト | |
unit type | 単位型 | |
universal function call syntax (UFCS) | ユニバーサル関数呼び出し構文 | |
unsized types | サイズ不定の型 | |
unwind | アンワインド | |
unwrap | アンラップ | 暫訳! |
V | ||
variable binding | 変数バインディング | |
variable shadowing | 変数のシャドウイング、変数の隠蔽、 変数の隠れ、変数のオーバーライド | |
variable capture | 変数キャプチャ | |
variant | バリアント | |
vector | (動的配列、一般的には翻訳しない) | vector の本来の意味は「ベクトル」 |
visibility | 可視性 | |
vtable | 仮想テーブル | |
W | ||
where clause | where 句、where 節、where 分句 | データベースの公式マニュアルでは多くの場合「句」と翻訳され、英語文法では「節」と翻訳される |
wrap | ラップ | 暫訳! |
wrapped | ラップされた | |
wrapper | ラッパー | |
Y | ||
yield | 生成(利益、効果など)、産出、提供 | |
Z | ||
zero-cost abstractions | ゼロコスト抽象 | |
zero-width space(ZWSP) | ゼロ幅空白 |