DIVE INTO CODE

2019年04月27日

WindowsユーザーがRubyに入門するときに気をつけたいこと

Aws4 request&x amz signedheaders=host&x amz signature=81cc19a2fdaef84380f620298dafde66a1ccb0fbd325abef1e66ba2018eb2b25

Windowsユーザーの方がRubyを学び始める際に意識しておきたいポイントについてお教えします。また、開発環境選定における企業側の事情についてもお話しています。

【こんな方におすすめ】
・これからRubyを学び始めようとしている方
・Windowsユーザーの方
・開発環境の違いについて知りたい方

【目次】
1.WindowsでもRubyは使えるの?
2.Ruby on Railsインストール時に気をつけること
3.開発作業時に気をつけること

■話し手
DIVE INTO CODE 代表 野呂 浩良
■聞き手
StartGate 永田 拓也

WindowsでもRubyは使えるの?

結論からいうとRubyはWindowsで使えます

使えるんですね!

RubyInstallerというツールを使えばWindows端末でも簡単にRubyをインストールできます。公式サイトでも紹介されている信頼されているものです。なので、ぜひやってみてください。

Ruby on Railsインストール時に気をつけること

一方でほとんどの開発現場ではWindows端末でRubyを使って開発をしないんです。

なんでですか?

例えばRuby on Railsを使ってWebアプリケーションを作りましょうとなったとします。その時に、Windows用のRailsのインストールの仕組みが、ツールはあるんですが公式にはない。
なぜかというと、Windows、macOS、LinuxのそれぞれのOSの仕組みが違うからです。分かりやすい例でいうと、フォルダ構造をスラッシュで表すのかバックスラッシュで表すのか、というところから違います。プログラムの作り方が違うんです。

アメリカ人と日本人みたいな?コンピュータの世界での国が違うみたいなことでしょうか?

まずはルールを知ったうえでインストールしないといけない。アメリカではこういうルールだよ、というのを一度インプットしてから海外旅行をしないと痛い目に合うみたいなことです。

なるほど。

macOSとLinuxは非常に似ていますが、Windowsは違います。なのでWidnowsにRuby on RailsとかRubyで作られたプログラムを外から持ってきてインストールするときは、その過程でいろいろエラーが起こることがあります。もちろんちょっとやり方や書き方を変えたらできるんですけど、macOSやLinuxとは違うやり方をしなくてはならなくなります。

めんどくさいですね。

もしエラーが起きたときどうするか?他のOSとは違うやり方をしなくてはならない、あるいは我流で対処しようとすると後で何が起こるか分からなくて怖くないですか?

怖いです。そういうことか・・・。

そういう状態のコンピュータをあえて使ってお客さんに納品しますか?やらないですよね。だから少ないんです。

Rubyをやっている人はWindowsは使っていないと。

習う分にはいいんです。Windows端末でも仮想環境を入れると、Linuxをバーチャルで操作できるので対処法はあるんです。
あるいは自分の端末にインストールしなくて済むCloud9とかネット上でプログラミングできるものを使います。

開発作業時に気をつけること

これまでの話で、Windows端末でRubyを使って開発をするときには、何が起こるのか分からないという状態でやることになります。だって誰が動作保証してくれるんですか?そんな公式に書いていないやり方で、我流でやって何か起こったら自分が責任とらないといけないんですよ。どうします?

責任とりたくないです。やだやだ(笑)

せめて開発言語やフレームワークの不具合だって言い切れる状態でやりたいですよね。たくさん作って作って作ったあげくに問題が起こって、それがOSに依存する根本的な問題だって分かったらどんな気持ちがします?

「おい!」っていう(笑)

その後Windowsで開発します?

やらないです。

Windowsに特化させる労力と、Linuxで使う労力を考えてみましょう。さらにWindowsってライセンスが必要なので有料なんです。Linuxは無料です。それなら経済的にも労力的にもLinuxがいいじゃないですか。そっちでやろうよってなりません?

なるほど・・・そういうことか!

ただ、業務系システムや銀行系システムや官公庁のシステムは、無料でインストールしたOSを使って何か起こったらだれが責任とるのという世界なんですね。情報システム部門の人が責任を取らされたりする。嫌じゃないですか。じゃあ保証をしてくれるところに発注したいじゃないですか。
そうするとライセンスを買ってWindowsを選ぶということになります。

なるほど!

さらにシステムをつくることになったときに、Windowsで動くことをちゃんと保証してくれるプログラミング言語を選びます。Rubyは公式には保証していません。JavaはOracleという会社が保証しています。そうすると情報システム部門の人は担保ができるわけですね。責任を自分ではなく公式に保証している会社が請け負ってくれる。そこに価値を感じて、Javaが使われるということになっているんです。そういう契約上のことや商習慣が実は開発言語の選定に強く関わってくるんです。企業向けのシステムにWindowsが多いのはそういうことなんです。

そういうことか!おもしろいですね。

新しいサービスを早く創り出したい、だけどコストをかけられないスタートアップがJavaを選ぶ理由があまりない。だってRubyでできちゃうから。Javaでなければいけない理由がない。
大企業になればなるほど責任を取らなくてはならない。保証してくれる人がいる必要がある。Javaでないといけない理由がある。Windowsでないといけない理由がある。

そうせざるをえない理由があると。どっちがいい、悪いの話じゃないんですね。

まとめ

WindowsユーザーがRubyに入門するときに気を付けたいことは大きく3つ!
1.Rubyを使う環境を準備するとき
2.Ruby on Railsをインストールするとき
3.Rubyを使って開発をするとき

RubyはWindowsでも使えます。でもどうしてWindowsではあまり使われていないのか、どんな環境で学び始めればよいのかが分かると、いいスタートダッシュを切れるかもしれません。
プログラミングスクールDIVE INTO CODEでは今回のお話のように、開発環境やプログラミング言語がどういう特徴で、どういう背景で作られていて使われているかについても意識しながら学んでいきます。

DIVE INTO CODEのことをもっと知ってみませんか?