もう一回Javaを援護してみる。<人の尻馬に乗って
ちょっと今回は引用いっぱいで書きます。
矢野勉のはてな日記 - そろそろRuby/PythonのようなLLを褒めるのにJavaを貶めるのは止めません?
でも私はJava技術者なので、例に出てきたコードがあんまりにも冗長だと気になって仕方がないんです。これと比較したら、ガリガリのCコードだってもっと行数短くなるんじゃなかろうか、と思っちゃったんですよ。
そうなのです。
俺も前にも書きましたが
Yoshioriの日記: Javaのfor文とか
比較するのにわざと冗長に書いたJavaのコードと比較するのは
いかがな物かと思ったので書いてみた。
さすがに文章がうまい人が書くと説得力があるので
尻馬に乗ってさらに書いてみたりします。
naoyaのはてなダイアリー - 僕やはてながPerlを選ぶ理由
そして、プログラマはかならずと言っていいほど、どれかひとつ以上の言語を愛しています。好き、ではなく愛しているのです。
自分が愛しているものを批判されると感情的になりやすいのは人の常、プログラミング言語の差異に関する議論は炎上しがちで、よく宗教戦争だなんて言われたりもします。その中で、言語なんてどれも一緒だなんていう乱暴なまとめがされることもよくあったりします。
確かに、俺はJava言語が好きです。
言語が好きというか言語思想が好きというか微妙なところですが、
一番好きな言語は?と聞かれれば
やっぱりJavaになります。
ただ、矢野さんも書いていますし
俺もそう思うのですが、
別にLLを貶そうとかJavaが優れてるぜ!
とか言いたい訳じゃありません。
最速インターフェース研究会 :: 入門Ajaxが初心者にオススメできない理由
いつの時代だって初心者もいれば上級者もいるわけで、PerlでいうとCPANモジュール使ってフレームワークやらMVCやら使って華麗にOOPなコードを書く人も入れば、無料CGIレベルでprint連呼でhtmlタグを大文字で書く人もいる。どの言語でもそういうことはあるのだろう。けれど、特に PerlとJavaScriptの場合はとにかく上と下の格差が大変ひどいように感じる。
例えば2chのJavaScript質問スレなど、いまだに「ポップアップウィンドウを制御するにはどうしたらいいんですか?」というようなレベルである。今実際行って確かめてみたら本当にそうだから救いようがない。困る。これはもうなんというか技術レベルどうこうの問題ではなく、単純に時間軸がずれているとしか思えないのである。ポップアップウィンドウなどもはやブロックされるのがデフォルトなのだから使うこと自体間違いだ。
強調しておくと、俺が入門Ajaxをダメだと思うのは別に内容がどうこうということではなく、そういう時間軸のずれた人たちをそのまま放置するような姿勢が許せないということである。いや、もちろん内容が酷い部分もあるのだけれど。
ちょっと引用が長くなってしまいましたが、
まさに最近、LLとの比較に出てくるJavaのコードが
そんな感じなのです。
あまりにも時間軸がずれているのです。
時間軸の話で言うと
まぁ、はっきりと言ってしまうと
「Ruby on Rails」の生産性の話の例でも
そんな時間軸のずれたコードが出てきちゃうのです。
Ruby on Railsの登場が2004年7月で
バージョン1.0が出たのが2005年12月13日です。
ちなみにJavaの拡張for文が導入された
J2SE 5.0のリリースが2004年9月30日です。
(もちろん仕様はもっと前から出てました)
ホント、俺、LL大好きなんですよ。
Java言語の色々悪いところもいっぱい知ってます。
(その辺は今度まとめます)
別に時間時のずれた文章書くなとは言わないです。
ただ、発言力のある人が
平気であまりにも稚拙で冗長な文章を書いていると
やっぱりそれはその文章の信憑性も含めてどうかなぁと思っちゃうわけで、
あと、やっぱりJavaを愛している人間としては
悲しいなぁと思うわけです。
LLの人たちもちょっと最新のJavaについても
見てもらえればなぁと思うわけです。
(そんな冗長で稚拙なJavaじゃなくって)
ホント、俺なんかでよければ
いくらでも話をするので・・・