ぼくがRubyを断念した理由

ぼくがRubyを断念した理由

6年ほど前の話です。ぼくは元々Javaの技術者でしたが、転職を機にVB.NETに触れ、その後C#をよく使うようになっていきました。

C#にだいぶ慣れた頃、「スクリプト言語の一つでも覚えてみようかな?」という軽い動機でRubyの学習を始めました。

しかしこの時泥沼に嵌るとは思いもよりませんでした…

Windows環境の罠

家にはWindowsのPCしか無かったので、Windowsに環境を作りました。

Rubyのインストール自体はうまくいきました。RubyInstallerが既に整備されていたので、Windowsでの環境構築自体は手順通りで問題なかったんですね。

その後Railsのインストールで問題は起きました。therubyracerというgemが動かなかったのです。

当時はlibv8がどうとか、環境毎にコンパイルがどうとか、「オレはこの設定で動いたぜ!」とか、2~3日調べまくった結果、「あぁ…これはぼくのPCじゃ動かないな」という諦めに達してしましました。


これに関しては現在に至っても根強く残る問題です。(therubyraceの件はNode.jsの登場で解決しましたが…)

今でも「Windows向けのgemだけ上手く動かない」「バージョンが変わったら動かない」なんてのはよくあることで、1日~数日がエラーの解消で潰れるなんてことはよくあります。

Rubyに限らない話ですが、プログラミング界隈はあくまでUnix(Mac)やLinux中心に回っていて、Windowsはあくまで後から移植される環境であるという事を理解させられました。

エディタで疲弊

VB.NETやC#であればエディタはVisualStudio一択です。しかしRubyのエディタにスタンダードと呼べるものは無く、当時の選択肢としては以下のものが主流(?)でした。

  • Eclipse
  • RubyMine
  • Vim

もともとJava技術者だったぼくは、Eclipseに慣れていたのでそのままEclipseにRubyのプラグインを入れて使ってみました。しかし非常に動作が悪く、使い物になりませんでした。

Eclipseに慣れていたぼくは「まぁEclipseだしな」と思い次のエディタを探しました。

RubyMineは有料だったので一旦選択肢から外し、Vimを使ってみました。というのも、エディタを調べている中で「Vimはなんでもカスタマイズできる」「プログラマならVim」「Vimじゃないと死んじゃう」といった声が結構な割合であって、「学習コストは高いらしいけど、長い目で見たら覚えて損は無いかな」と思ったからです。

Vimの操作自体はチートシートを使って「徐々に慣れていこう」で良かったのですが、まともなRubyの開発環境を整えるとなると、色々なプラグインを入れなければなりません。

…が、早々にプラグイン管理で疲弊しきってしまいました。プラグインが動いたり動かなかったり、何故動かないのか調べるのに時間を使っているうちに「あれ…Rubyのコーディング全然できてないぞ!」という気持ちになり、Rubyをやる気力自体が無くなってしまいました。

実際当時Rubyのコードを書いた記憶がほとんどありません。

Rubyをやりたかったのに、Vimの勉強を始めてしまったのが失敗だったのだと思います。

そもそもなんで覚えたかったの?

そもそも「スクリプト言語を覚えたい」という動機は、「JavaScriptが苦手」という苦手意識が発端だったと思います。

当時(10年くらい前)はJavaScriptを取り巻く環境は本当に貧弱で、まともなフレームワークやエディタはほぼほぼなかったと記憶しています。(もしかしたらあったかもしれませんが、今ほど手軽でも一般的でも無かったと思います)

なのでコードを書いていてもフォーマッタもLinterも無く、テストもまともに書けず、デバッグもブラウザの貧弱なコンソールで行うしかなかったりと、Javaと比べて「なんなんだこの言語は!?」という気持ちがあったのです。

Rubyでその苦手意識を払拭したかったのですが…方向性は違えどJavaScriptと同じ末路を辿ってしまったのです。

現在の状況

2018年現在、環境は驚くほど良くなっています。

WindowsでRubyを動かす時に上記のようなエラーに当たることは、少なくなってきているとは思いますがまだまだあります。強い心を持ってエラーに立ち向かってもいいんですけど、今は他にも色々な選択肢があります。

ぼくのおすすめはWindows Subsystem for Linux(WSL)です。ファイルシステムの共有もできるし、切り替えも簡単です。WSL特有の問題があったり、100%Linux互換ではありませんが、Windows上でRubyを動かすよりははるかにマシです。

他にも仮想環境でLinuxを動かしてもいいです。VirtualBoxだったりHyper-vだったり…あるいはDockerでもいいかもしれません。

エディタも種類が増えました。既に慣れているのであればVimでいいと思いますが、言語の初心者であれば「エディタの習得」よりも「言語の習得」に重きを置きたいはずです。なのでおすすめはAtomVSCodeですね。どちらもクロスプラットフォームでOSを選びませんし、インストールすればすぐにコードが書き始められます。(Rubyプラグインは入れる必要があるので、オールインワンというわけでは無いですが、数分で出来るので環境構築の負担はほとんど感じません)

そういえばJavaScriptを取り巻く環境も驚くほど良くなっていますね!

ES6に始まりnpmeslintを入れたり、mochajasmineでテストしたり、babelwebpackgulpなどなど、久しぶりに触れると覚えることの多さにびっくりしますが、当時の貧弱な環境に比べるとあまりの進化ぷりにびっくりでした。Node.jsは偉大です。


WindowsにおけるRubyの環境はここ数年で大分マシになりました。が、あくまで「Windowsという環境はRubyに向いていない」ということを承知の上で「なんとか頑張ればギリギリ実用に耐えうる環境を作れる」ということでしかないかもしれません。(実行環境なんかは結局Linuxですし)

これからRubyを始めるキミ、素直にMacかLinuxにしとけ!

%d人のブロガーが「いいね」をつけました。