火曜日, 8月 05, 2008

【雑記】 Javaが本領を発揮する場面とは このエントリーを含むはてなブックマーク



最も初心者向けの言語はJava or PHP?の最後に、Javaの本領発揮する場面は後日述べたいと書いていて、その後トランザクション処理のところでも書いたつもりだったのだが、ぜんぜんJavaの本領発揮になっていないので、ここであらためて説明したい。

 Javaのいい点は信頼性である。Linuxは信じていないが、JavaのアプリケーションサーバであればLinuxでもOKという人は世の中に大勢いる。これはものすごく大きな価値であると思う。

 GoogleのPythonでMapReduceをやるのはまだ時期尚早であろう。それは理屈ではなく、基幹システムをLAMPで構築したときの苦労、私の経験がそう思わす。なので、HadoopやAmazon EC2、S3がJavaで書かれていることに素直に喜べる。利用者も安心してサービスを使うことができると思えるからだ。

 私はC、C+、VB、Java、JavaScript、PHP、Perlのほか、S390やZ80アセンブラ、COBOLを読み書きできる。Objective-Cをやれといわれたら書く自信はある。Javaは他の言語に比べると商売上得意なだけで、ひいきめにみているわけではない。要するになんでもいい。ただし、データのスキーマにはこだわる。スキーマは言語ではない。XMLでもJSONでもYAMLでも何でもいいがデータ構造がシステムで統一されていることが重要。これについては、APIをやめデータ構造に着目するエンティティの設計で詳しく説明した。

 私は基幹システムのクリティカルな部分にスクリプト言語を使う勇気は(もう)ない。一方で、Javaで画面を作ることはやりたくない。とてつもなく生産性が低いからだ。
 最近、若者のあいだで「Fuck! Java」とよくいわれている。何で?と訊くと嫌いだからという。いろいろやってみた結果ではなく、それがいまどきでカッコいいかららしい。何事も毛嫌いせず、向き不向きをよく理解したうえで発言してもらいたいものだ。

2 件のコメント:

masaruyokoi さんのコメント...

初心者が始める言語は、何でも良いのではないでしょうかねと思いますが。 JavaやRubyから入ってPHPやPerlを書かなければならなくなると、いろいろな意味でフラストレーションたまるかもしれませんが。

Linuxは信じていないが、JavaのアプリケーションサーバであればLinuxでもOKという人は世の中に大勢いる。

Java on Linux な場合、Linuxの上でJava動かすわけだから、Linuxの信頼性の低い部分はそのまま引きずらなければならなくなると思うのです、とくに kernel, libc の弱いところを。 なのに Java は信頼できて Linux は信頼できない、って、どういうこっちゃ?と(笑)

…信頼性って何なのだろう、って考えさせられたのですが。 信頼は過去の経験でのポジティブな事象とネガティブな事象によって評価した結果とすると、人によって経験することはマチマチなのでしょう。

きっと「Javaは信頼できて…」な方々は、Linuxを使っているときには踏んだり蹴ったりなことばかりだったが、Java on Linux ではそうでもなかった、ってことがあったのかななんて思ったのです。 たとえば、ドキュメントその他の情報源の状況を見ると、Javaはそれなりにきちんとまとまっていたりするので、踏んだり蹴ったりな状況にならなかったのかな、なんて想像してしまいます。

「動きが分からなかったらソース見ろ」ができるオープンソースは良いのですが、ソースが見えることによる手抜き部分に困らされている人もいるってことで。。

takezaki さんのコメント...

>Java on Linux ではそうでもなかった、ってことがあったのかななんて思ったのです。

要はそういうことだと思います。実際はLinuxで動かすのだから、信頼性はLinuxを超えることはないのですが、「Javaは信頼できて…」と思うようになるのが人間の不思議なところです。

信頼は築きにくいが壊れやすい。Javaが長きにわたって培ってきた信頼には価値があるということを言いたかっただけです。

貴重なご意見、ありがとうございました。

 
© 2006-2015 Virtual Technology
当サイトではGoogle Analyticsを使ってウェブサイトのトラフィック情報を収集しています。詳しくは、プライバシーポリシーを参照してください。