Hatena::ブログ(Diary)

yvsu pron. yas このページをアンテナに追加 RSSフィード

2009-06-12

ぼくがLLのひとに「ガツン」と申し上げたこと

ぼくは水曜日Tokyo Cloud Developerの集まりに出た。

そこで、LLのひとから、「Google App Engineは、Python版以外にJava版も出たけど、サンプル見たけど、たくさんコード書かなければいけなくて、正直どこがいいのか教えて欲しい」という質問があった。

blog名前を出していいかの了解を得ることを忘れたので、ここには、LLの人としか書けない。


ぼくは、そこで一言申し上げた。あるいはそれは、「申し上げた」というような生やさしいものではないかも知れない。端的な言い方をすれば、ガツンと言ってやった。


客観的に見て、ぼくはガツンと言ってやったと思う。LLな方々を前に、「いまどきのフレームワーク進化しているから、言語による差なんて余りない。仮に、Javaのほうが二倍コードを書く必要があったとしても、開発の中でコードを書いている時間より考えている時間のほうが圧倒的に長いんだから、その辺は誤差でしょう。」と「がつん」と言ってやった。それが彼らに届いたかどうかは、ぼくには分からない。しかしぼくがガツンと言ってやったことだけは確かだ。


そうしたら、ヨシオリが出てきて、さらに「ガツン」といった。

コードが多くても、実際の作業としては ctrl+spaceとctrl+1 を押すのが大半だから、生産効率に差はないんですよ。」


これだけをお伝えして、Java-jaチームがLLの方とお話ししたことについてのエントリーは、これで終わらせて頂くこととする。ご精読、ありがとうございました。


追記:コメントにも書いたけど、あの場では、仮にということで、Javaのほうがコードの量が多いという話にしましたが(そうでないと話がかみ合わないので)、実際は、フレームワークレベルだと、例えばRails(Ruby)とSeasar2(Java)を比べてもそんなに生産性(書く量は2割くらいはSeasar2のほうが多いかもしれないけど)は変わらないと思いますよ。

この辺に話が出てます。

http://d.hatena.ne.jp/higayasuo/20080216/1203153631


後、私は、Javaの良さがわからないといわれたので、良いと思っていることを伝えただけです。だれでも、好きなものがあって、人にその良さがわからないから教えて欲しいといわれたら、もちろん教えてあげるでしょう。


あわせて読みたい

ハックルベリーに会いに行く

norisuke3norisuke3 2009/06/12 12:00 コードが増えると可読性が落ちてメンテナンスの効率が落ちるって反論が有るんですが如何でしょうか?

higayasuohigayasuo 2009/06/12 12:19 一応、仮にということで、Javaのほうがコードの量が多いという話にしましたが(そうでないと話がかみ合わないので)、実際は、フレームワークレベルだとRails(Ruby)もSeasar2(Java)もそんなに生産性は変わらないと思いますよ。
この辺に話が出てます。
http://d.hatena.ne.jp/higayasuo/20080216/1203153631

通りすがり通りすがり 2009/06/12 14:47 LLの人間ってトリッキーでも、
短く書いたほうが可読性がよいのですね。

可読性はコードの長い短いの問題よりも、
思考を妨げることなく読めるかの問題だと思います。
Javaの場合はIDEで読むことが多いですし、
気になるメソッドがあれば直ぐにジャンプできます。

otsuneotsune 2009/06/12 15:39 >気になるメソッドがあれば直ぐにジャンプできます。

いまどきvimやemacsでも日常的にやってるから、そこは根拠にならない。

technohippytechnohippy 2009/06/12 15:52 がつんと言われた人です。名前出してもぜんぜん大丈夫ですよ。

norisuke3norisuke3 2009/06/12 20:58 最近のJavaについてそれほど詳しくないので、仕様の詳細に付いては突っ込めないのですが、単純な疑問として、

> Javaのほうがコードの量が多いという話にしましたが(そうでないと話がかみ合わないので)、実際は、フレームワークレベルだとRails(Ruby)もSeasar2(Java)もそんなに生産性は変わらないと思いますよ。

ということであれば、何故そもそも


「「Google App Engineは、Python版以外にJava版も出たけど、サンプル見たけど、たくさんコード書かなければいけなくて、正直どこがいいのか教えて欲しい」という質問があった。」

という質問が出るのでしょう?

通りすがり通りすがり 2009/06/12 22:14 JavaとRubyがどんぐりの背比べしてらぁww

norisuke3norisuke3 2009/06/12 23:43 どんぐりの背比べで、お互いが負けじとフレームワークを向上させるんだったら、どんぐりの背比べも悪くないっすよ。

myuhemyuhe 2009/06/13 01:55 なんか、もうね
どっちでもいいぢゃん、と。

ぽておぽてお 2009/06/13 07:30 マジレス多くてびっくり。やすをのうざさにうんざり。

chaichanPaPachaichanPaPa 2009/06/13 12:10 『ctrl+spaceとctrl+1 を押す』って、どういうことですか?

oe-roeloe-roel 2009/06/13 15:50 >id:chaichanPaPa
Eclipseのショートカットキーのことかな。

Ctrl+Space
 メソッド名やフィールド名などを補完表示。
 適当にコレクションっぽい型の変数名を拾って、それに対するforeach文の追加とかもできる。
Ctrl+1
 QuickFix。
 その場のソース記述にあわせてIDEが自動実行できるさまざまなレシピを表示。例外やimportの宣言を追加、など。

宣言的にいろいろな制約を持ち込める言語の方がこういう機能は強力にできるでしょうね。

chaichanPaPachaichanPaPa 2009/06/13 16:18 oe-roelさん、解説、ありがとうございます。
Eclipseは、使ったことが無いのでわかりませんでした・・・。

なまえなまえ 2009/06/13 17:46 言語の進化が(原理的にではなく現実的に)速いが
えてして弱型な点が欠点にもなりえるLLたちと、
強型が利点にもなりえるけど
言語の進化が遅すぎてなかなかキレイに書かせてもらえないJavaとでは、
せいぜいどっこいどっこいだと思う。

そういう意味で議論するならC#あたりも出したほうがいいだろう。
全部とはいわんが幾つかの面で両陣営をぶっちぎってるから。

といっても、「出す」のはひがさんの仕事というわけではないので。

>フレームワークレベル

Strutsまたは改良型Struts(=Rails)だと所詮どっこいどっこいなのだろうと思う。
たとえば私は個人的にはRuby好きなんだが、
Railsなコードはどうも「ごちゃごちゃ」してて「Rubyらしくない」と感じている。
たぶんRubyの世界(の良い面)から見ればRailsのほうが鬼子なのだろう。

>トリッキー

LLが格別にトリッキーだとは思わないです。
それ言うならDIやAOPだってトリックの宝庫。

あと、可読性を評価するとき、今見てるものが「メソッド」であるかどうかに拘る必要は無いです。
「メソッドだかなんだかよくわかんねーけど今ここにあるソレが言わんとしてることは見りゃ判るぜ」ってことはよく有ることで。
むしろメソッドでしか書けないせいで読み書きしにくくなることも有るし。

getXxx()/setXxx() より attr :xxx のほうが「まとまってて読みやすい」んです。
(あくまでこれは「Rubyのほうが勝ってる一例」なので、常に勝てるとまではいいませんが)

>補完

字面の「まとまりが弱い」と、後から読むときは結局ラクにならんのです。

Eclipseが書くだけじゃなく読むときも補完(ってのか???)してくれるなら話は別ですが。

…そういう意味では「カーソルのせた単語を色変えて(デフォで灰色)くれる」のはグッジョブです。
ただしその程度ならvimのほうがもっと快適だと感じてますが。

kensir0ukensir0u 2009/06/13 21:08 言語仕様で比較するのもいいですがVMで比較もしてみたらどうですかね>みなさん。

ryujiryuji 2009/06/13 22:57 トラックバック打てないので、コメント欄から失礼します。

コードの量よりも、思考の妨げの方が生産性に影響を与える <http://mgiken.com/2009/06/13/222527>

emoemo 2009/06/14 12:48 僕もLLは好きだが、LLの人は
コードの量についての話しているうちはダメだと思う。
今どきコードの量なんてのは生産性に対して影響しない。
影響するほど多いとしたら相当ダメダメなので、一度
FWなりなんなりを見直して方が良い。
個人的に重要なのは、思考からコードへの障害がどれだけ少ないか。
これは個人差があるから人がどうこう言える事じゃない。(薦める程度)
まして話の対象の両言語での開発経験がないのなら言っても何の説得力も無い。

なまえなまえ 2009/06/16 19:45 > まして話の対象の両言語での開発経験がないのなら言っても何の説得力も無い。
ひがさんとその取り巻きのことですね。分かります。

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証