44-IDEを知る

プログラマが知るべき97のこと」の44個目のエピソードは、IDEに関する話です。きのこ本には幾つかのIDEに関するエピソードがあります。プログラマにとってIDEテキストエディタは最も重要な道具なので当然でしょう。それらのエピソードで共通する主張は、IDEを活用することで生産性をあげることができるがUNIXツールやコマンドラインツールも重要という事です。さて、IDEに関するネタは尽きてきました。今回は、自分がEclipseJavaを操る時の感覚について書こうと思います。
最近流行の言語に比べれば、Javaは冗長な構文のプログラミング言語です。Rubyなどの言語に比べてタイプ数は遙かに多く、考えていることをそのまま記述できるような柔軟性はありません。ですが、情報量が多いため、コードを読む時のヒントは多いとも言えます。また、コードを書くときには「型」を強く意識します。「型」とはイディオムやテンプレートとも言い換えることができます。ある種のことがやりたい場合、「このように書く」と言う型が明確です。
Javaをホーム言語としている人はこの「型」のボキャブラリーが豊富と言えます。プログラミングをする時に型を意識して思考します。勿論、他の言語であっても同様なことは言えます。しかし、パターンを認識したり、応用したりする場合、簡潔すぎると覚えにくい事があります。言い換えると、ある程度の冗長な構文がパターンの認識を手助けしており、応用的な使い方も想像しやすいのではないでしょうか?勿論、そのコーディングに手間がかかるのであればメリットよりもデメリットのほうが大きいでしょう。しかし、Eclipseを使えば、そのコーディングの手間は大幅に減少します。頭の中で「こう書きたい」とイメージしたならば、数タッチでそれが実現可能なのです。
自分の場合、Javaでプログラミングをしている時、コードのイメージを思い浮かべ、それを形にしていくような感覚でEclipseを叩きます。例えば、文字列のリストを作成したいと思ったならば、完成形のコードを思い浮かべながら「new Array」とまで入力し、Ctrl+Spaceで自動補完をかけます。するとEclipseは「ArrayList?」と聞いてきますので「Yes」と答えるのです。さらに型パラメータを聞いてきますので「String」と入力します。続けて、Ctrl + 1を叩き「ローカル変数に代入する?」とEclipseに提案することを誘導します。最後に型がArrayListでなくてListがいいのでは?とEclipseは聞いてくるので「Yes」と入力するわけです。このようにイメージ(型)を浮かべたならば、後はEclipseと対話的にプログラミングしています。自分にとってJavaの冗長な構文はロジックの構造を確認し、安心するために必要な要素です。
このエピソードで書かれているように、IDEの習得曲線は非常に緩やかです。ですが、手足のように使えるようになるには、十分な訓練が必要なのはテキストエディタと変わりません。そして、正確に早くプログラミングするにはエディタの性能ではなくプログラマのスキルが重要です。IDEやエディタは思考を妨げないレベルでの性能を持てば良いでしょう。幸いにもPCの性能が向上した今、IDEが重くて動かないこともなくなりました。Javaをホーム言語とするならば、もっともっとEclipseを使いこなせるように勉強してみましょう。

プログラマが知るべき97のこと

プログラマが知るべき97のこと