give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

【RubyMine】「機能拡張さえ入れれば無料で使える機能」と「最初から全部入りの機能」の違いとは? #ソニックガーデン勉強会

はじめに

先日、弊社ソニックガーデン主催の「エンジニアのためのスキルアップ勉強会#2 自分が考える最高の開発環境」に参加しました。(登壇者ではなく視聴者として)

sonicgarden.connpass.com

その中で弊社の @ruzia がRubyMine愛、もといJetBrains愛を熱く語っていたのですが、同じRubyMineユーザーとして、彼の言うとおりRubyMine(およびJetBrains系IDE)の一番の強みはやっぱり、「デフォルトにして至高」つまり、「最初から全部入り」であることだな〜と再確認しました。


RubyMineじゃなくてもできるから、無料のエディタで十分?

RubyMineの便利機能を紹介するとよく耳にするのが、

「それ、RubyMineじゃなくても <<あの機能拡張>> を入れたら <<あのエディタ>> でもできるよ。しかも無料だよ!」

というセリフです。

ですが、同じ機能が使えるとしてもスタンスとして大きく違うのは、

  • 無料で使える(でも自分で機能拡張をインストールしなければならない)
  • 最初から使える(でも毎年利用料を払わないといけない)

のどちらを重視しているか、ということです。

無料で使える機能拡張は素晴らしい?

RubyMineを使う前は僕はVimをメインで使っていました。

ネットの情報を見ながら、いろんな機能拡張(プラグイン)をインストールしていたんですが、意外としんどいんですよね。
というのもインストールしたらおしまい、ではなく、

  • 他のプラグインとショートカット等が競合して動かないときがある
  • Vim本体やプラグインがアップデートすると突然動かなくなってしまうことがある

みたいなトラブルが起きるからです。

古いバージョンを使い続けるのはイヤだから早くアップデートしたい、でも、アップデートするとエディタが動かなくなるかもしれない、みたいな心配って結構開発体験(DX)が悪いです。

何の気なしに新しいプラグインを入れたら、それまで使えていたプラグインの機能が使えなくなって、何が原因なのか調査しないといけない、みたいな問題も困ります。
「今すぐコードを書きたいのに、なんで俺はエディタのconfigとにらめっこしてるんだー!?」みたいな体験は苦痛以外の何物でもないです。

「私は <<あのエディタ>> のエキスパートだから、トラブルが起きてもすぐ直せる自信がある」とか「突然起きたトラブルを解決するのも <<あのエディタ>> を使う醍醐味のひとつ」みたいに考えている人はいいですが、僕にとってエディタは「いつでもすぐ使える状態になっている便利な道具」であってほしいです。

「最初から全部入り」ならトラブルが起きにくい

その点、RubyMineはほぼすべての機能がデフォルトで入っています、
RubyMine用のサードパーティ製プラグインも用意されていますが、数えるほどしか入れていません(今調べたら「CSV Editor」と「GitHub Copilot」だけでした)。

なので、プラグイン同士の相性問題やRubyMineをアップデートしたときに便利機能が壊れることを心配する必要がありません。
なぜなら、そうした問題が起きないようにJetBrains社が責任を持って機能の整合性を管理してくれているからです。

お金を払う=損、ではない

そして、「お金を払う=損」ではありません。
費用対効果が見合っているのなら、お金を払う価値はあるでしょう。
その点、JetBrains社はお金を払っただけの(もしくはそれ以上の?)働きをしてくれます。

上で述べたとおり、「JetBrains社が責任を持って機能の整合性を管理してくれる」というのも価値のひとつですが、それだけではありません。

たとえば、RubyMineは毎年数回バージョンアップします。そのたびに新機能が追加されます。
つい先日もバージョン2024.1がリリースされました。

RubyMine 2024.1 の新機能

こうした定期的なアップデートから、僕は「お金をいただきました、はい終わり。じゃないですよ、いただいたお金はちゃんと機能開発に回しますよ」というJetBrains社の意志を感じます。

また、そこまで頻繁に利用するわけではないですが、動作がおかしいときはサポートに直接問い合わせることができます。
個人開発の機能拡張とかだと「issueがあふれかえって返信が全然返ってこない」とか、「作者が興味を失ってメンテが止まってしまった」みたいなことがあったりしますが、RubyMineは個人ではなく企業として対応してくれるので、いつでも迅速に応対してもらえます。

このように、たしかにお金を払う必要はあるけれど、

  • ツールが壊れる心配をせずに開発に集中できる
  • 定期的に新機能を追加してくれる
  • いざというときはサポートが助けてくれる

というメリットや安心感があるので、お金を払う価値は十分にあると思っています。

初心者の人にこそ勧めたいRubyMine

「RubyMineってなんかすごそうだけど、有料だし、そんな高機能なエディタは初心者の自分はとても使いこなせる自信がないので、私はもうしばらく無料の <<あのエディタ>> でいいや」と思っているそこのあなた!

むしろ、僕は初心者の人にこそRubyMineをお勧めしたいです。
というのも、RubyMineを使えばそれだけでスキルアップ・効率アップできるからです。
つまり、初心者が苦手だったり時間がかかったりする作業や調査も、RubyMineを使えばIDEの力でさくっと終わらせることができる、ということです。

RubyMineを利用することは、重労働時にパワードスーツを着るようなものですね。


Image: https://news.livedoor.com/article/detail/17510385/

実際、僕自身もRubyMineを使い始めてから、RubyやRuby on Railsに対する理解がぐっと深まった経験があります。

RubyMineの強力なアシストを受けながらコードを書けば、無料の <<あのエディタ>> を使い続けている周りの初心者グループから一足先に抜け出せるかもしれません。

もちろん、熟練者にとってもRubyMineのアシストは強力です。
僕はもうRubyMineなしだと戦闘力が20分の1に下がっちゃいます😅

初心者にお勧めの入門本

RubyMineをこれから使い始める方は、 ikuma-t さんが書かれたこちらのwebブックがお勧めです。
まずはこの本の内容に従って手を動かしながら、徐々にRubyMineに慣れていくのがいいと思います。

zenn.dev

コラム:だからといって、Vimを完全に卒業したわけではない

ちなみに僕はRails開発する際のメインエディタはVimからRubyMineに切り替えましたが、だからといってVimを完全に卒業したわけではありません。
むしろ今でも頻繁にVimを使っています。

ただし、Vimの用途はあくまで「テキストエディタ」です。
つまりプレーンテキストを編集するための便利ツールとしてのみ、Vimを使っています。

Railsをがっつり開発するときはRubyMine、それ以外の場面(プレーンテキストや小さなスクリプトの編集等)ではVim、というふうに使い分けています。

言い方を変えるというと、「Vimにプラグインを入れまくってRubyMine並みに高機能なエディタにする、というアプローチは取らないことに決めた」という感じです。

VimはVimで、さっと起動して、ぱぱっとテキストを編集できるから便利なんですよね。
大は小を兼ねないというか、Vimを封印してそういう作業も全部RubyMineでやれ、と言われたらそれはかえって不便だと思います。

まとめ

というわけで、このエントリではRubyMineの何がすごいのか、なぜお勧めなのか、というポイントを僕なりに語ってみました。
30日間は全機能を無料で使えるので、興味がある人は一度無料版を使ってみてください!
(僕はJetBrains社の回し者ではないですし、以下のリンクもアフィリエイトリンクとかではないですよw)

https://www.jetbrains.com/ja-jp/ruby/