統合開発環境を使う人、統合開発環境に使われる人

統合開発環境について「XX使える?」という質問や、「XXなら使いこなせます♪」とか、「XXのこんなに便利な使い方がある!」みたいな言葉を耳にしたり目にしたりすることがありますが、そういう言葉って実際意味があるのかなぁと思うんですよね。




私は仕事でいくつかの開発環境を使ってきましたけれど、もちろん冒頭の質問は受けるんですよね。時には使ってない統合開発環境の仕事に「エキスパートですから」という触れ込みで送り込まれたこともあります。お客様はその間今日を使いこなせる人を望んでいたから、当時の上司はそういうことにしたんでしょう。きっと。私の目は思いっきり泳ぎましたけど。
そもそも、通常のテキストエディタコマンドラインではなく、統合開発環境を使う理由は「その方が効率よく開発やテストやドキュメンテーションが行えるから」に他なりません。だから、使いづらい統合開発環境ってのはそもそも存在意義が無いのですよ。使いやすくて当たり前なんです。
ただ、使いやすいというのは、あくまでもその統合開発環境の裏にあるものを知っている人にとって使いやすいという意味です。先日、初めて仕事で使った、ある統合開発環境は、オブジェクト指向を理解している人にとってはおそらくとても使いやすいはずで、理解していない人にとっても、その理解を助け、さらには開発工数削減も図ることができるのではないか、と思えるものでした。実際使った期間が1ヶ月に満たなかったのでとても使いこなせるというわけにはいきませんが、それでもとりあえずそれを使って開発することはできました。それができるのが統合開発環境なんですよね。
エキスパートで有る必要は無いし、有る意味もない。ある統合開発環境がないと開発ができないなどと言うのは論外です。裏にあるなにかがわかれば、どんな開発環境でも、たとえ初めて使うテキストエディタコマンドラインでも、必要な情報を集め成果物を作り出すことはできるはずです。しかし、もちろん、使い勝手のいい統合開発環境を使った場合に比べれば大幅に工数は膨らむはずです。


この業界に入ったばかりの頃、先輩に言われました。「××がないと仕事にならないプログラマーには絶対なるなよ」と。その時はその言葉の意味がわかりませんでした。なぜラインエディタを使って1行ずつ編集をしなければならないのか?効率が悪いだけなのではないか?そう思いながら作業をしたこともありました。しかし、趣味ではなく、仕事でプログラムを作る我々にとって、その言葉は大きな意味を持ちます。どこに行っても使えるツールも必要な情報も探りながら作業を始めることになります。みたこともない統合開発環境での開発を強いられることも往々にしてあります。経験がない、と断ることもできますが、それではいつまで経っても経験がないままになってしまいます。


統合開発環境はあくまでも使うものです。使えるようにできているはずです。それに使われてしまうようでは、趣味でならともかく、仕事としてシステムを開発することはおぼつかないでしょう。