コラム8.  IDE(統合開発環境)

IDEとは何か?

C言語に限らず、現在プログラミングをするにおいて、欠かせないのが、IDE( Integrated Development Environment : 統合開発環境)と呼ばれるソフトウェアです。

IDEとは、同じ操作画面から統一的な操作法で利用できるようにしたソフトウェアパッケージ。一般的にはコードエディタやコンパイラ、リンカ、デバッガなどが統一されているツールで、現在はテストツール、バージョン管理ソフトなどもこれに含まれているケースが多いようです。

代表的なものとしては、マイクロソフト社のVisualStudio、アップル社のXcode、さらにはフリーのものとして、EclipseNetBeansなどがあります。また、最近ではAndroid専用のIDEとして、AndroidStudioなども登場しています。

IDEがないころのプログラミング

このIDEが使えるようになったのは、実はコンピュータの歴史の中では割合最近のことで、かつてはプログラミングを行うには、IDEに統合されている諸機能はバラバラに存在しており、ユーザーがプログラム時にそれらを別々に操作する必要がありました。

UNIXとC言語を例に挙げると、プログラミングは、viemacsなどといったテキストエディタを利用し、それをccというCコンパイラのコマンドでコンパイルし、デバッグはdbと呼ばれるデバッガのコマンドをそれぞれ別個に利用していました。

これらはいずれもコマンドラインでユーザーがキーボードからコマンドを入力しながら利用するものであり、現在のIDEに比べるとずいぶんと使いずらいものでした。

makeコマンド

特に大変だったのが、makeコマンドというコマンドで利用される、makeファイルというはファイルの編集でした。このコマンドは、コンパイル等の処理を自動的に行うためのものですが、コンパイラ、リンカなどの設定を行い、makeコマンド一発でビルドさらにはインストールを行わせるための大変便利なものでした。

その設定ファイルがmakeファイルと呼ばれるものですが、使用するソースコードの構成や数が変化するごとにこのファイルを編集する必要があり、かつては大規模なプログラムを作成するというのは大変な作業だったのです。

しかし、IDEの出現によりプログラマーはそういった手間から解放され、それによりプログラミングの効率は飛躍的に改善しました。

現在のIDEの機能

すでに述べた通り、現在のIDEには様々な機能がついています。特に最近は、テスト駆動型開発(TDD:est Driven Development)と呼ばれる開発手法が主流になったことから、どの言語も必ずと言っていいほど、開発過程でソースコードのテストを必要とします。

そのため、最近のIDEでは、テストの自動化ツールが追加されており、プログラム本体のほかに、テストコードを呼び出すことにより、ソースコードに変更を加えた際にもシステムに大きな障害が発生しないかどうかを簡単にテストするようになっています。

さらには、リビジョン管理ツールと連動し、ソースコードのバージョン管理なども簡単に行えるようになっています。つまり、IDEがあればプログラミングに必要な処理がすべて行えるようになっているわけです。

無料で手に入るようになったIDE

そんなIDEですが、かつてはパッケージソフトとして、コンピュータ専門店などで売られているのが普通でした。しかし現在、IDEはインターネットによるダウンロードで無料で利用できるのが普通です。

例外として挙げられるものの一つとして、マイクロソフト社のVisualStuidoがありますが、これも特定のエディションに限らず無料でダウンロード・利用できるようになってきており、現在ではIDEは限りなく「無料で利用できるもの」となってきています。

この変化はプログラマーにとっては大変うれしいものですが、いったいなぜそのような変化が起こったのでしょうか?それは、プログラムやソフトに対する考え方の変化によるものでしょう。

かつては、ソフトウェアそのものが商品であり、ソフトウェア自体を高い値段で購入して利用するのが当たり前でした。しかしインターネットの普及などにより、ソフトウエアは、販売するものというよりも、利用料を徴収したり、ソフトウェアを使ったサービスにより収益を上げる、という構造に変わってきており、プログラムを作るコストはなるべく低いほうがいい、という考え方が支配的になってきました。

そのため現在では、ネット環境とある程度プログラミングができるような最低限度の性能のあるコンピュータさえあれば、だれでも簡単にプログラミングを始めることができるようになったのです。