「Javaは大規模開発に向いてる」というのは本当だが、どう考えるべきなのか?

1.実行環境が、大規模に向いている
2.開発環境が、大規模に向いている
3.言語仕様が、大規模に向いている
4.人材確保が、大規模に向いている
5.顧客を説得しやすい
6.金儲けになりやすい

ある程度、きちんと分類して、それで考えるべきかと思う。
というか、「Javaは大規模開発に向いてる」と発言しても、実績がいろいろあるので、もう誰も反論の余地があまりなく、結果論としてどう考えるかの世界になってきてると思う。

「Javaは大規模開発に向いてる」というのは、10年?前あたりから、その中身はあまり変わってないので、そんなに間違っているとは個人的にはおもえないけど。

たぶん、「実績があり、過去のノウハウがあり、リスクが低い」という現状がある以上、多言語との比較は、その部分を軽視するような比較は意味をなさないとと思う。


「Javaは大規模開発に向いてる」 = 「Javaは大規模案件に向いている」

これが = かどうかなんですけど、直接開発しない人にとっては、ほぼ同じ意味合いなのは事実だと思う。


1.実行環境が、大規模に向いている

大型汎用機でも動作するという意味でも、大規模にむいているといえるかと思う。

WEBアプリ以外でも、大規模で負荷がかかる処理があるわけですが、そういうのでも耐えれているみたいなので・・・


2.開発環境が、大規模に向いている

モニタリングのしやすさ
.NET系もそうらしいですが、JMXによるオンライン監視やスレッドダンプやメモリダンプ、GCログといったリソースモニタリングや障害調査のための仕組みが非常に強力です。

プロファイラもVisualVMやJava Mission Controlなど強力なものがデフォルトでついています。

最近だとFlightRecorderやENdoSnipeなど運用時に低負荷でプロファイラ級の情報を取得できるものもあります。GCのタイミングからホットメソッドまで分かるでの、問題発生時の切り分けがずいぶん楽になります。
Javaを使うメリットはありますか? はい、それはもちろんあるに決まってます! - ブログなんだよもん

ノウハウ的な面もあるけど、まあ、開発をささえる環境が、有料だけど結構いろいろあるというのは強いかと思う。

3.言語仕様が、大規模に向いている

レベルの低い(安い)プログラマに作らせるのに「チェックが厳しいから」「スタイルを強制できるから」向いてるって話ね。
Javaの良さをしぶしぶ認めざるを得ない人たちが悔し紛れに言ってるとしか思えない。
オブジェクト指向らしいコードを書けるプログラマはJavaで書いてもPythonで書いてもオブジェクト指向らしいコードを書けるし、書けないプログラマはJavaで書かせようがRubyで書かせようが書けない。
Javaは大規模開発に向いてるとかいう言説

昔は、C++やPerlと比較して、チェックが厳しいという部分をクローズアップ。

オブジェクト指向らしいコードを書けない人たちがJavade書いても、まあ放置していても安全だという部分が大きいと思う。

そういう人は、Javaはできても、なぜか、PythonもRubyもできないことが多い


4.人材確保が、大規模に向いている

「たとえレベルが低くてもとりあえず数を集められる」みたいな言語と関係ない理由ならともかく、言語機能から見たら「レベルを問わないで人海戦術的にプログラマを投入する大規模開発に向いてる」みたいな言説は完全に間違い。
Javaは大規模開発に向いてるとかいう言説


日本で、安い人材を大量に確保するという意味では、Javaは強い。

「言語機能から見たら」というのは、ミクロな視点ではそういう気もするけど、マクロな視点では、やっぱりそうじゃないかな?とは思う。

関連記事

キレイなコードが良いというエンジニアは迷惑千万!?

スポンサーリンク

コメントを残す

メールアドレスは公開されません。
また、コメント欄には、必ず日本語を含めてください(スパム対策)。