読者です 読者をやめる 読者になる 読者になる

WebEngine

web、プログラミング関係について書いていきます。あなたの優しい眼差しがブログの成長につながりますのでどうぞよろしく。

プログラミング初心者こそVagrantを使うべきではないのか、と一瞬思ったけど・・・

Vagrant

Vagrant(ベイグラント)ってなに?

  • 仮想環境をすごく簡単に構築できるソフトウェア
  • VirtualBoxVMWare Playerをターミナルから扱える
  • 破棄もコマンド一発でできるので、開発サイクルが速い現場で重宝される

vagrantup.com(公式サイト)

なぜ仮想環境を構築する必要があるのか?

開発環境の差異をなくすためです。環境に違いがあると、以下のようなことが起こります。

A 「Bのつくったプログラムでエラーが出たよ」
B 「え、本当?」
(Bが自分の環境で実行してみる)
B 「Aの言ってたエラーって、どうやったら出たの? どうやっても出ないんだけど・・・」
A 「え? おかしいなあ」
B 「ちょっと見せてよ・・・。あ、お前、なんで××なんて使ってるんだよ・・・!」
A 「お前こそ、××なんて使ってたのか」

この××の部分には、開発言語のバージョンなんかが入りますね。同じ言語を使っていても バージョンが違えば、仕様が違うものがありますから。開発環境と本番環境を同じにする、という 目的も当然あります。

初心者がVagrantを使うことのメリット

上記の内容を読んでもらった方は、だいたい推測がつくのではないでしょうか? そう、初心者の方にとって はプログラミングそのものよりも、環境の差異によって発生する問題の方が壁になるからです。
そこで、Vagrantを使ってその壁を取り除けないだろうか・・・、と考えたわけです。

問題点

ただ、問題もあります。まず、初心者の方が仮想環境の意味を理解できるかどうかや、 そもそもVagrantの導入自体で「やーめた」となってしまいかねないことなどが挙げられます。手順を理解していないと難しいんですね。javaScript をはじめて扱う人がどのブラウザを使っているか気にするでしょうか? 初心者でなければするかもしれません。しかし、 少なくとも僕はしませんでした。

それならば、とりあえずプログラミングをやってもらった方が良いのかもしれない。

うーん、皆さんはどう思います?

成功事例

プログラミング関係学習サイトのドットインストールさんです。Vagrantを ベースにした環境で講義をしているものが、いくつかあるのですが、良いな、と思うのはVagrantを使っていなくても講義が 進められるところです。ぼくもVagrantを無視した環境で勉強させてもらったものがいくつもあります。