そろそろIDEを使えるようにしたいが、使う気にならないので、どうしようか


そろそろIDEを使えるようにしたいんだけど、全然定着しないので、現状と心境をまとめてみる。スクリプト言語をメインに使用している。仕事では、以前はPHP、最近はRubyを書いてる。

普段使用している環境

Linux上に構築した複数のツールを使うよくあるサーバーサイドプログラミング環境。

  • Arch Linux
  • Vim
  • tmux
  • コマンドラインツール(git,psql,sed,awk等々)

過去に使用したことがあるIDE

IDE 言語 使用期間 備考
MonoDevelop boo script 一か月くらい Unity、プライベート
Visual Studio Express C# 1年くらい 実務
RubyMine Ruby 5日くらい 現在お試し中

各使用感

MonoDevelop

  • 重い(遅い?)
  • キーバインドが慣れない
  • Pythonが嫌いになった

Visual Studio Express

  • 勝手にコードを編集しまくる
  • キーバインドが慣れない

RubyMine

  • 動作が遅い(LinuxからWindowsにXを送ってるせいか?)
  • IdeaVimによるキーバインドが、かなり良い感じだった

機能的に感じること

  • よくVimとIDEが比較されるが、VimってIDEのエディタ部だよね
    • 私はLinux環境を丸ごとIDEとして使ってる感じ
IDE 複合環境
エディタ部 Vim
ペイン tmux
VCS tmux+各コマンド
DB接続 tmux+各コマンド
  • Vimはエディタと言ったが、過去には色々試してた
    • VimShell+mysql、psqlでシンタックスハイライト付きエディタでSQL書いて、ショートカットキーで、コンソールに送って即実行
    • Visual Studio でのコーディングが嫌で、C#をVimでコーディングしてた
      • オムニ補完やメソッド定義元へのジャンプはプラグインとツールで実現してた
    • PHPの場合、Xdebugと連動してVimで、ブレークポイントを仕込んだりすることもできる
      • もちろん変数の中も見れる

「それ、Vimで出来るよ」だけど、設定とかがすっごく面倒だよ。だから、使わなくなりました。と言う現状。あと、言語毎に設定が必要だし、レスポンスが遅かったりするのも辞めた理由。tmuxとCUIコマンドで事足りるようになってきたから、あんまり不便を感じなくなってしまった。

今感じるデメリット

デメリットというか、現環境と比べて、IDEを使う上で嫌だと感じること。そして、その数だけ、作業効率が落ちてしまう。

  1. レスポンスの遅さ
  2. Vimキーバインドに慣れすぎてしまって、他のキーバインドが煩わしく感じる
    • マウスを使いたくない
  3. サーバーサイドプログラミングが多いので、編集から実行するまでが手間
    • 常にサーバーと同期取れるよ->同期に1秒くらいはかかるのが嫌
    • マウントしてしまえば良いのでは->保存に時間がry
  4. サーバー設定をするなど、他の作業をしたい時にウインドウを切り替えないといけない
  5. 何してるのか分からないことが怖くて検証してしまう
    • VCSやDBのGUI操作って、これちゃんと保存しているのかとか、余計なことしてないかとか、色々気になってしまう

IDEに求めるメリット

何故、IDEを使えるようにしたいか、と言うと、IDEなりのメリットがあるから。すぐに求めていることは下記のことかな。「Vimでもできる」けど、面倒だからやりたくないこと。主にコーディングに対するメリットだけど、もっと大枠のアプリケーション開発自体を速く便利にするものもIDEにはあるんじゃないかと思っているが、そこまでは知らない。

  • 補完
  • メソッド定義元へのジャンプ
  • コンパイル言語の場合は、実行までの設定の簡易さ
  • これらが言語に依存せずに共通環境で使用できる

結論

要は慣れろということなんだろうけど、今感じるデメリット…というか嫌だと感じることを許容できない。特に、なんか遅いせいで、コーディング時にイライラすることが個人的に最大のデメリットであり、使い続けられない原因。1時間くらいで操作をマスターできればいいのに。最近、新人が付く機会があったら、最初にIDEを使わせた方が良いと思ってる。そして自分が教わりたい。その後Vimを教えたい。

IDEは、ある程度自動的にやってくれてGUI操作できるので、誰でも、同じように、簡単にできるようになるメリットがあると思う。コマンド覚えなくてもDB操作できたりとか。だけど、コマンドラインツールがある程度扱えるようになってからだと、今更頑張って乗り換えるメリットってなんだってなってしまう。どうしたものか。