April 10, 2008

Javaの難しさ

Javaの難しさと一口に言ってもいろいろな側面がありますが、今日は製品選定の難しさに焦点を当てたいと思います。

Javaで開発を行う場合、開発環境、実行環境(アプリケーションサーバ)、ライブラリ、フレームワーク等々、各ベンダやOSSコミュニティが似たような機能を持った製品をリリースしていて、どれを使ったらよいのか開発者はいつも頭を悩ませています。
さらに、各ベンダやOSSコミュニティからは絶え間なく新製品や新バージョンがリリースされ続けているため、開発者は常に情報収集・調査・評価・検証を行い、そこに莫大なコストをかけています。・・・まぁ、だからこそ私のような仕事も成り立つのですが・・・
各製品個別の評価検証だけではなく、異なるベンダやOSSコミュニティからソフトウェアを入手した製品を組み合わせて動作確認するのも開発者の仕事です。その際に間接的に利用するライブラリ(依存ライブラリ)のバージョン違いによる競合が起こることも珍しくありません。

選択肢は多い方が良い、という理屈もあります。ベンダ間・OSSコミュニティ間の競争・競合が各製品の質を高める効果を生み出しているのもまた事実です。
しかし、今のJavaプラットフォームでの開発では、その選択肢の多さによるコスト増が勝っているような気がします。
そういう意味で、Javaプラットフォームでの開発よりも.NETプラットフォームでの開発のほうが余計なことに煩わされずに済んでいるのが現状なのではないでしょうか?

重要なのは、どんな技術を使ったか?や、どんなソフトウェアを使ったか?ではなくて、どんなシステム(アプリケーション)を作った(作る)のか?ですから。
率直なところ、開発の現場では「与えられたものを使っていればOK」な人が大半なような気もしますし・・・

0 コメント:

Post a Comment