Javaを使っている理由

うちの会社のパッケージソフトでは、Javaを使っています。
パッケージ開発・カスタマイズ案件を通じて、PHPRubyを使うことはまったくありません。

そうすると、「どうしてJavaなんですか?」とか、「うちはPHPなんですけどJavaってどうですか?」ということを聞かれることがあります。

まあぶっちゃけてしまえば、製品開発当初にJavaを採用した(それは私が入社する前)ので、作り直しでもしない限りJavaを使い続けるしかない、という事情はあります。ただ、自社の事情を考慮すると私はJavaを使うメリットがあると考えていて、以下のようなことを答えています。

  • うちの会社では北京の子会社を使ってオフショア開発を行っている。

 そうすると、さまざまなスキルを持ったエンジニアが何十人がかりでソースコードをいじることになる。
 Javaでのプログラミングでは言語仕様に準拠するために、ライトウェイト言語よりも多くの手間がかかるが、言語仕様が厳しいというのは、大量のプログラマーに対して、あまり好き勝手なスタイルでプログラミングをさせないということにもつながる。

 それらを利用することで、ソースコードの状態をいくらかましに維持できる。

  • 人数にして数千人・金額にして数億円という大型案件の実績においては、Javaに一日の長がある。

 

ちなみに私自身のサンデープログラミングでは、PHPRubyを使っていて、1人でやる分にはJavaよりも圧倒的に生産性が高いと思っています。
(1人でWebアプリを作るのにJavaを使う気は起きません)

それでも、パッケージアプリをオフショア開発で行うというビジネスモデルに身をおいているという状況では、ソースコードを可能な限りひどい状況にしない(長期にわたってメンテナンスしなければならないので、これは重要)という観点からは、Javaという選択は間違っていないと思っています。



話は変わりますが、「JavaからRubyへ ―マネージャのための実践移行ガイド」という本を読み始めました。
この本を読み終わったとき、考え方が変わっているかもしれません。
本を読んでの感想は、改めてまた書こうと思います。