技術

【Jetbrains All Products Pack】エンジニアならもう買ってしまっていい!

Jetbrainsは開発者に人気のIDEです。

各言語ごとに製品があり、ライセンスも各製品ごとにあります。Jetbrains All Products Packという全製品に対応したライセンスもあります。

当然ですが、全製品対応ライセンスは、それなりにコストがかかります。

でも、ソフトウェアエンジニアとしてやっていく覚悟があるなら、Jetbrains All Products Packを購入してしまっていいのではと私は思います。

Jetbrainsのライセンスと価格について

Jetbrainsで複数言語に対応する方法

まずJetbrainsの製品についての前提知識になりますが、Intellij は、Javaに最適なIDEです。ただ Intellij の Ultimate ライセンスを持っていれば、各言語のプラグインを入れることで複数言語に対応できます。そして、 All Products Pack のライセンスは結構お高いです。

なのでJavaを使わない人でも、多言語を使う人は Intellij でやってしまう人もいます。ただ、Intellijだと一部のフレームワークが未対応だったり、プラグイン盛々でメニューが煩雑になったりします。なのでお金の問題さえなければ、各言語に最適されたIDEで開発したいというのがエンジニアの総意だと思います。

Jetbrains All Products Packの価格感

Jetbrains All Products Packは全製品対応だけあって、ソフトウェアサービスとしてはかなり高価です。毎年数万円かかるサブスクリプション体系です。個人利用でも初年度は3万円弱します。

一つの言語のライセンスがだいたい1万円ぐらいなので、3言語使う人なら、まあ損はしないという価格感です。

しかし、前述の通りIntellijだとプラグインを盛々入れれば全言語に対応できます。Inttellijの価格はJetbrains All Products Packの半分ぐらいです。

なので、コストを抑えたい場合は、Intellijで頑張るか、もしくは自分がメインで使う言語のライセンスだけ購入して、あとはVSCodeなどの無料環境で何とかするなどになります。

Jetbrains All Products Packに切り替え!

私もAll Products Packは高いなと思って、今までPycarmとVSCodeの併用でやってきました。

しかし、この間、Jetbrainsのラインセンスを All Products Pack に更新しました。

更新前のライセンス

私が今回All Products Packを購入する前の状況ですが、PyCharmのProfessionalエディションのライセンスを3年以上使っていました。3年目以降は 7,000円/年ぐらいだったと思います。

私が普段使う言語と環境は以下の様な感じです。

言語 環境
Python PyCharm
Java(ごくたまに) eclipse, Intellij CEなどでダマシダマシ
TypeScript VSCode
他(Terraform, shell, YAML, JSON等) VSCode, ときどき PyCharm

がっつりやるのはPythonとTerraformなので、PycharmとVSCodeで事足りていました。

そのうちGo言語とかも使いたいと思っていたので、どこかで Intellij の Ultimate に切り替えたいなと思っていました。でも今はPyCharmだけでもなんとかなるという状況が続き、ライセンス料をケチっていたら(PyCharmのほうがIntellijより安い)、いつの間にか3年以上も使っていました。

ライセンス移行の価格体系が良くなった(?)

毎年、ライセンス更新のタイミングで Intellij に切り替えようかと思っていたのですが、また1年目の料金から払うのはヤダなと思い躊躇していました。Jetbrainのライセンス料は1年目、2年目、3年目以降と3段階で安くなっていきます。3年目以降は初年度より40%ぐらい安いです。

で、今年もPyCharmを更新して、他言語はメインで使うようになるまでは、VSCodeとかでダマシダマシやるのかなと思っていました。

でもライセンス更新画面を見ると、乗り換え前の使用実績が考慮されるようになっていました。つまりPyCharmを3年以上使っていれば、IntellijやAll Products Packが3年目からの料金で買えるようになっていました。しかも現在使用中のライセンスの残り日数の割引まで考慮されるようです。

3年目以降は Intellijが10,300円で、All Products Packは17,200円で差額は7,000円なので、もうAllのほうでいいかなと思って購入してしまいました。

ライセンス切り替え料改変以外で、All Products Packにしようと思った理由

今回、All Products Packに切り替えた最大の理由は、前述の更新料金にこれまでの他製品の使用実績が反映されるようになったらです。

ただそれ以外にも、All Products Packを購入した理由はあります。

Rustを触ってみたくなった

最初の理由としては、Rustを使ってみたくなり、開発環境が欲しくなったというのがあります。

Rustの開発環境は何がメジャーなのかよくわかっていないのですが、JetbrainsにRustのプラグインがあって、IntellijかCLionでできるみたいなので、もうこれでいいかって思いました。Jetbrainsのツール好きですし。

Rustをやりたいと思った理由は、今月のWeb+DB PRESS vol.122で、RustでつくるRDBMSという特集があったからです。これが面白そうで、実際に手を動かしてみたいと思いました。

Rustは国内では全然使われてなさそうですが、AWSやマイクロソフトは評価してるみたいなので、そのうち使ってみたいなと思っていました。あと私自身が、低レベルの言語の経験がほとんどないので、教養のためにもちょっと使ってみようと思った次第です。

毎年少なくとも言語を1つ学習していこうと思った

今、『達人プログラマー ―熟達に向けたあなたの旅― 第2版』を読んでいるのですが、以下の様な記述がありました。

毎年少なくとも言語を1つ学習する。

複数言語にあれこれと手を付けるのは浅いエンジニアだと言う人もいますが、私はそうは思いません。メインで使える言語が1つ以上あって、プラスα複数の言語である程度実装したことがあるというのが当然だと思います。

技術は絶えず進化しつづけます。状況によっては得意言語がその進化に追いついていないこともあります。複数の言語の特性を知っていれば、選択の幅が広がり良質なシステム構築につながります。そもそも時間やリターンのなさを理由に、得意言語以外の学習に躊躇するようであるなら、そもそもエンジニアとしてどうなのという気もします。

私は最近まで、エンジニアとしてはダラダラとしていて、あまり技術を追っていませんでした。今年に入って生活習慣などを見直すようになり、それと同時にエンジニアとしても成長し続けねばと考えるようになりました。なので、この「毎年少なくとも言語を1つ学習する」というのを実践してみようと思います。この誓いに、JetbrainsのAll Products Packはピッタリだと思いました。

Jetbrainsのインスペクションがすごすぎる

Jetbrainsのインスペクションは強力です。

コードレビューをしていると、Jetbrainsを使っていない人は、使っている人よりTypoが多い気がします。またコードの書き方も、いまいちなことが多いです。(例えば、Staticメソッドをそのままクラスに入れているとか)

Jetbrainsならwarningで教えてくれるので、技術力が同じなら、VSCodeの人よりJetbrainsを使っている人の方がコードが綺麗です。

早速やってみたこと

で購入して早速やってみたことですが、1つはRust環境の構築です。

CLionをインストールしRustプラグインを入れて、とりあえずHello Worldまでやりました。

あと、DataGripというのをインストールしてみました。これはDBを扱うツールのようです。少し使ってみただけなのですが、正直これ何がいいのかよく分かりません・・・ 何かいろいろできるみたいですが、全然使い切れません。他のDBツールでいいじゃんと思ってしまいました。とりあえずせっかく買ったので、DBやSQLをゴリゴリ触るときは、当分使ってみようと思います。

Jetbrains All Products Packの恩恵

Jetbrains All Products Packを買ってみて、私は以下の恩恵を感じました。

  • 別の言語への抵抗感が薄れる
  • モチベーションUP。プロ感を持てる。

All Products Packがあれば、各言語ごとに綺麗なIDE環境ができるので、新しい言語への挑戦に躊躇しなくなります。

あとモチベーションが上がります。Jetbrains All Products Packを自費で購入しているエンジニアは、少数派です。それだけで、上位エンジニアになれた気がしますし、プロ感が持てます。ソフトウェアエンジニアとしてやっていく覚悟ができます。

まとめ

以上、Jetbrains All Products Packオススメという内容でした。

私はインフラをやったり、バックエンドをやったりで、純粋なソフトウェアエンジニアとは言えないのですが、それでもJetbrains All Products Packを購入して良かったと思っています。

ソフトウェアエンジニアと自負するなら、買ってしまっていいかと思います!