2018年09月28日に初出の投稿

Last modified: 2018-09-28

2018年09月26日に初出の投稿

昨日は休みをとったので、1日を空けて RUST の本を続けて読んでいる。今日は5章まで。プログラミングの初等的な本としては標準的な展開として、データの型を説明したら次は4章で制御構造が出てくる。RUST では中括弧(パーレン)でスコープを作るようなので、fn main() { let a = 1; { if true { let mut _a = 2; let _a = 3; } } print!( "{}", a ); } などとやっても、出力されるのは "1" である。また、ループ制御の条件部に使われる値も、ループする制御構造内の処理とは独立しているので、fn main() { let a = 5; for i in 1..a { let a = 2 + i; print!( "{} ", a ); } print!( " and {}", a ); } と書いても、最後に " and {}" で出力されるのは "7" ではなく "5" だ。

そして次に5章では配列が登場する。RUST では配列の要素の数と要素のデータ型は、宣言するたびに固定される。ちなみに、こうして短いコードを書いていても感じるのだが、使ってない変数を宣言したままにするとコンパイル時にエラーが出るので、実行するときに初めて気づくという無駄がなくなるので、かなり合理的な書き方ができる(というか、そもそも使わないオブジェクトを宣言したままにする方がおかしいのだが)。また、mutation の必要がない変数を mut 付きで let してもコンパイル時にエラーが出るので(変数名にアンダースコアを付けてエラーを抑制できるが)、不用意に mut を付けたまま宣言して書き換えてしまうか、書き換えられてしまうリスクを事前に回避できる。

とにかく、いま本を読みながら少しずつしか勉強していないが、かなり学習効率はいいプログラミング言語だと思う。C や PHP や JavaScript しか知らない人でもすぐに覚えられるだろう。コンパイルの必要はあるが、それだけパフォーマンスに優れていると言える。また、C や Python のように先頭で必要なライブラリをいちいち記憶してインクルードしなくてもいいので、学習効率は圧倒的に改善される。Perl でも似たようなものだが、どういう関数を使うときにどのライブラリを呼び出すかを記憶するのが面倒なので、結局のところ基本的なライブラリの範囲でしかアプリケーションを設計しなくなる。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook