PR

そのやり方では生産性は上がらない!

2008年11月17日(月)
中村 悟

生産性の高い言語とは?

 今回はプログラミング言語の生産性に焦点を当ててみます。生産性の向上を目指す時、言語は何を選べば良いでしょうか。生産性が高いことは言語のメリットの1つのとなるため、最近よく使われる言語はどれも生産性の向上を考慮しています。よって、それぞれの言語の持つ生産性の方向性を考えて、開発に合うものを選択することになります。言語にはそれぞれ特徴があるため、一概に順位を付けることはできませんが、今回は、4つの言語をピックアップしてそれぞれの生産性についてみてみます。

 1つ目がJavaです。Javaはクライアントアプリケーションや大規模サーバーの構築、携帯電話のアプリケーションなど、C言語の代替としても幅広く使われている言語です。C言語に比べると、プラットホーム依存のコードが必要ないことや、メモリ管理の煩雑性がないことから、より少ない時間でバグの少ない高品質な開発ができると言われています。コンパイル型言語であることや、依存関係の解決など、LL言語に比べると手間になる部分もありますが、EclipseのようなIDEを使うことで、対処できるようになっています。

 2つ目がPerlです。Perlは多くのWebアプリケーションで使われている言語であり、コマンドラインツールとしてもよく利用されます。インタプリタ型言語であるため、書けばすぐに実行できます。Perlは正規表現を埋め込みで利用できることから、テキスト処理に向いており、シェルスクリプトよりもスマートなコマンドラインツールを書くことができますし、テキスト処理が多いWebサービスの構築にも向いています。また、CPANという巨大なライブラリ群があることも魅力です。自作せずに信頼性の高いライブラリを利用できることは、その言語の生産性に大きく影響します。

 3つ目がPHPです。PHPはWebアプリケーションの構築用に作られた言語です。今ではさまざまな機能を実装していますが、もともとはテンプレートエンジンとして開発された経緯もあり、通常のテキストファイルにプログラムを埋め込むという形式をとっています。そのため、HTMLと非常に親和性が高く、複雑な処理が必要なければ、Webサイトを開発するのに高い生産性を期待できます。最近ではPHPで使えるWebフレームワークが活発に開発されているため、大規模サイトの開発でも選択肢として考えられるようになりました。

 4つ目がRubyです。Rubyはシンプルな記述ができるオブジェクト指向言語として、高い生産性を発揮できると注目されています。Ruby on Railsの登場により、高速にWebアプリケーションを開発できると認知されましたが、Ruby自体はWeb専用言語ということはなく、オブジェクト指向による再利用性やテキスト処理も強力です。現状ではRubyを業務レベルで扱える人材を確保することがほかの言語よりも難しいかもしれませんが、今後期待されている言語の1つです。

別の言語に変更する場合の注意

 現状の開発言語から、より高い生産性が期待できるプログラミング言語に変更することがあります。筆者自身もAccessのVBAアプリケーションやクライアントサーバーシステムをJavaのWebアプリケーションに移行した経験がありますが、より生産性が高い言語に変更しようとしてもうまくいかない場合があるので注意が必要です。

 大きな問題になるのが、設計の差異です。それぞれの言語にはベストな設計がありますし、仕様の変更や機能の追加などで複雑な設計になってしまっているシステムもあります。つまり、言語を変更するということは、システムの設計も変更するということになります。もし、設計を変更できないのであれば、それは言語の翻訳でしかなく、高い生産性は期待することはできません。前向きな生産性向上の目的であれば、設計を見直すことは重要なポイントです。

 開発メンバーがそのままスムーズに別の言語を習得できるかというのも大きな問題です。言語が変われば開発環境や実行環境など状況は一変します。言語の変更には十分な移行期間が必要です。外部で利用しているアプリケーションの対応状況などがネックになることもあるため、事前調査も必須になります。

 高い生産性を得るために、新しい技術を使って古いシステムを作り直したくなることがありますが、そのために必要な準備を怠らないようにして、慎重に検討しなくてはなりません。

ウノウ株式会社
大阪のSIerにてJavaによる業務アプリケーションの開発を数年経験後、Webサイトの開発に携わるようになる。その後、上京し、Ask.jpに入社。検索サイトの開発にかかわる。現在ではウノウ株式会社にてモバイルサイトを中心にWebサイトの開発を手がけている。http://www.unoh.net/

Think IT会員サービス無料登録受付中

Think ITでは、より付加価値の高いコンテンツを会員サービスとして提供しています。会員登録を済ませてThink ITのWebサイトにログインすることでさまざまな限定特典を入手できるようになります。

Think IT会員サービスの概要とメリットをチェック

他にもこの記事が読まれています