|
2019/07/20
『プログラミング言語Rust 公式ガイド』スティーブ・クラブニック著( Amazon > https://amzn.to/2Y9KvMb )を読みながら体験してみる。この「公式ガイドブック」はその名に恥じないわかりやすさ。実行しながら学べる良質な入門書。今日は第1章。マイクロソフト社でRustを高く評価しているという記事を読んで関心を持った。
記事 > https://www.atmarkit.co.jp/ait/articles/1907/18/news122.html 2019年07月18日 19時00分 公開
ダントツにスマートに感じたのが、Rustに付随するツールcargoである。ソースコードをコンパイルし、実行形式に変換する手順を、コマンド一発で劇的に簡略化する。そればかりではなく、ソースコードの問題をチェックもしてくれる。各種のパッケージもマネジメントしてくれる。コマンドラインツールであることに、現代のプログラミング入門者、初心者は抵抗を感じるかもしれないが、少し慣れればグラフィカルなIDEよりもこのほうが便利であることに気づくだろう。現在大変人気のプログラミング言語Pythonでは、上述の仕事を、個別のツールで行う。Pythonの総合開発環境を使うならば、メニューバーやツールボタンから選択して実行するので、個別のツールを呼んでいる感覚が無いかもしれない。cargoはオプションを指定して実行することで、cargo一つで必要な作業が済んでしまう。これは、各種ツールに関する学習の負担が減るメリットがある。必要なツールを揃える環境準備の手間もない。
実行ファイル作成にあたって、三つの段階をオプションで切り替えられる。私は今回、それらの段階を(1)チェック段階、(2)デバッグ段階、(2)リリース段階と勝手に命名した。実際それがオプション指定時の文字列そのままなので適切と感じたからだ。
* (1)はソースコードにコンパイル時の問題がないかどうかをチェックするため。実行ファイルは作成されないので、短時間で終了する。
* (2)は実行ファイルを作成し、動作をチェックできるようにする。作成された実行ファイルには実行時に必要なリソースが揃っていないため、次の(3)に比べればコンパイル時間が短い。
* (3)は完成した(あるいは完成と考えられる)ソースコードを、単体で実行できるように全てのリソースを付加した実行ファイルに変換する。このため(1)(2)に比べると時間がかかる。
更に、これらは段階に応じたディレクトリに出力される。コンパイル実行時に、作業者が「これはデバッグ用だからdebugディレクトリに・・・」などと考えて、コンパイルオプションをプチプチ打ち込む必要がない。およそプログラマとして活動する人にとって、当たり前の作業はこのcargoがまとめて引き受けてくれる感覚である。
まだまだHello, world!を体験しただけなので、Rustの言語としての機能は知らない。現状、C言語を簡略化したような文法のように感じている。安全でマルチパラダイムな言語との謳い文句がどれほどのものなのか、これからじっくり学んでみたい。
P.S. プロジェクトを開始するには
```
cargo new hello_cargo --bin
```
とすれば、hello_cargoディレクトリが作成され、直下にsrcディレクトリとスケルトンなソースコードが作成される。これもありがたい。
|