第48回 Webでプログラミング
2010年10月12日
(これまでの増井俊之の「界面潮流」はこちら)
文書もメールもWeb上で管理する「クラウドコンピューティング」があたりまえになってきましたが、プログラムの開発はまだ手元のパソコンの上で行なわれるのが普通です。
たとえばWindowsのプログラムを開発する場合はWindows上のVisual Studioのような開発ツールを利用するのが普通ですし、iPhoneのプログラムを開発する場合はMacintosh上のXcodeのような開発ツールを利用するのが普通です。Unix上のプログラムを開発する場合はUnixマシン上でEmacsのようなテキストエディタを使ってプログラムを作成し、Unixマシン上のコンパイラを使って実行プログラムを生成するのが普通です。いずれにしても、プログラムの編集やコンパイルといった開発作業はすべて手元のパソコン上で行なうのが現在は主流になっています。
プログラムの開発時は頻繁に修正が必要ですし、コンパイルやデバッグのような作業は手元のマシンで実行する方が効率が良いため現在のところはこういう手法が主流になっているわけですが、大規模なシステム開発においてプログラムや文書を共有する場合はネット上の「リポジトリ」を利用するのが一般的になっており、プログラムの開発においてネットワークはなくてはならないものになっています。文書もメールもネット上に置くのが常識になってきたように、プログラミングもネット上での作業が重要になってくる可能性があります。
ネット上でのプログラミングの長所と短所
ネット上でプログラミング作業を行なうことには以下のような利点があると考えられます。
- ブラウザがあれば開発できる
手元のパソコンでプログラミングを行なうためにはそのためのソフトウェアをあらかじめインストールしておく必要があります。ネット上でプログラミングを行なう場合は、プログラムの開発環境をパソコンにインストールしなくても、ブラウザさえあればどんなパソコンでもプログラムを開発することができます。プログラミングを始めるハードルも下がることになるでしょう。 - どのマシンでも開発できる
様々な環境で開発を行なう場合は開発中のプログラムをあちこちで共有する必要がありますが、開発中のプログラムがネット上に置いてある場合は任意のマシンに移動して開発を継続することができます。 - プログラムを作成と同時に共有できる
開発状況をリアルタイムで他人と共有することができます。
一方、以下のような欠点もあると考えられます。
- ネット環境が無い場所では使えない
ネットに接続できない場所では全く開発ができません。 - 通信に時間がかかる
パソコン上で直接プログラムを編集したり実行したりする場合と比べるとどうしても時間がかかることがあります。 - 開発環境がまだ整備されていない
Visual StudioやXcodeのような優れた統合開発環境はまだ普及していません。
このような欠点は時間がたてばかなり解決すると思われるのに対し、ネット開発の利点はかなり大きいと考えられるため、今後はネット上のプログラム開発が普及してくるだろうと考えられます。
ネット上のプログラミングの例
お手軽Wikiシステム「Gyazz」の上でプログラムを作成する実験をしてみました。Wikiを利用するとネット上で文書を作成/編集することができるので、同じ要領でプログラムを編集してみようというわけです。
下の図は、矩形を描くAndroidアプリケーションプログラムをGyazzの上で編集しているところです。
矩形を描くAndroidアプリケーション
ごく単純なAndroidプログラムなのですが、コメントの中でリンクを記述したり画像を置いたりすることができます。テキストだけを利用するプログラミング環境では、「300×200」の矩形がどういう形なのか、「0x123456」という16進数で示される色が実際どのように見えるのか、などが不明瞭なものですが、画像を利用するとこの図のようにコメントとしてわかりやすく表示することができます。
プログラムとその解説文書を同じ場所に記述することによってプログラムを理解しやすくするという手法は「文芸的プログラミング」として知られています。WikiのようにHTMLを活用できる編集システムを利用すれば、自然な形で文芸的プログラミングを行なうことができるようになるでしょう。
現在のところ、文書の編集にはパソコン上のWordなどを利用するのが普通ですが、GoogleDocsのようなクラウド上のサービスに置き換わっていく可能性は高いでしょう。少し前までは、計算機で漫画を読むなどということはほとんど考えられなかったものですが、タブレット型の電子書籍が普及すれば誰もが電子書籍の漫画を読むようになると思われます。ネットの進化によって計算機の使われ方は徐々に確実に変化してきています。
ネット上のプログラミングは現在のところ実用的とはいい難いですが、近い将来は当然のようになるかもしれません。
増井俊之の「界面潮流」
過去の記事
- 第55回 ものづくり革命2011年5月16日
- 第54回 マイIME2011年4月15日
- 第53回 NFC革命2011年3月10日
- 第52回 自己正当化の圧力2011年2月10日
- 第51回 縦書き主義2011年1月17日