はてなキーワード: 11:58とは
Python vs Ruby vs PHP vs Haskell プログラミング言語バトル part1
http://anond.hatelabo.jp/20120118220204
Rubyistってなんであんな小学校の図書室で毎日読書してそうな
顔面オジサン、オバサンばっかなの?
Scalaer: 鼻持ちならない、モヒカン
Lisper: マジキチ
Rubyist: ネクラ、オタク、キモメン、いじめられっこネクラチビメガネ、色黒、キモオタ、顔面オジサン、オバサン
Rubyのブロックが便利すぎて、Pythonをやめたくなった。
いちいちtemporaryな関数を作成してから目的の関数に渡していたのがばからしくなった。
リストやジェネレータ式の内包表記が便利過ぎて
どうせ廃れる。
609
>リストやジェネレータ式の内包表記が便利過ぎて
おれもそう信じてたけど、Rubyの、メソッド呼び出しを続けて書けるほうが便利だわ。
まるでjQueryみたい。といってもjQueryのほうが後発だけど。
たとえば「xsから0以上のものを選んで、その二乗の和を求める」場合
sum([ x*x for x in xs if x > 0 ])
これだと、後ろから読まないといけないんだよね。でも
xs.select{|x| x > 0}.map{|x| x*x }.sum
これなら頭からひとつずつ読めばいいから、わかりやすいし、考えたとおりに書きやすい。
まさにスクリプトって感じがする。
Python: [[x,y] for x in xs for y in xs]
Ruby: xs.map{|x| xs.map{|y| [x,y] } }.flatten(1)
いっぽうメソッドチェーンは
orz.sage().hage().hoge().hige() タイプの問題には向いている
つまり向いている方向がちがう
(まあHaskellなら hige . hoge . hage . sage と書くだけだというのは置いといて)
強い弱いということで言うと、問題を解くのに必要な一番能力が弱い
(限定された)道具を使うという考え方があるようだよ
ベタ再帰は強い(汎用的)、がそれゆえ読むのに注意を必要とする
foldrは再帰よりは弱いが、foldrで表現可能な問題のクラス(原始再帰)はかなり
広いので、mapやfilterで済むならもちろんそのほうが望ましい
ではこの問題は弱いmapやfilterを結合させるほうがいいかというと、
俺はlist comprehensionのほうが集合表記そのもの=whatを表現していて好きだな
Pythonのlist comprehensionのsyntaxはあまり好きではないが
それは大きな問題じゃない
メソッドチェーンってバグをわかりにくくするだけだと思うなあ。もちろん性能面もあるし。linqとかは良いと思うけど。
同じメソッドチェーンでも、linqなら良いけどrubyなら悪い .....
一言で言うと「俺はRubyが大嫌いなんだぁーー」ということですな
内包表記は構文でサポートしないと難しい(マクロがあれば別だが)
メソッドチェーンが関数型の方法に比べて特に優れている点があるようには思えないが
パイプ順に書きたければ書けるし
680,663
Pythonには関数型として致命的な弱点があるから、メソッドチェーンでは簡潔なコードが書けない
たとえば「(1) Rubyは 条件判定が(文ではなく)式」だから以下のようなコードが書ける
if test
if test_1 then test_1_1 else test_1_2 end
else
if test_2 then test_2_1 else test_2_2 end
end
}
あるいは「(2) Rubyはブロック内で局所宣言が可能」だから上のコードを以下のように書き換えてもいい
cond_1 = if test_1 then test_1_1 else test_1_2 end
cond_2 = if test_2 then test_2_1 else test_2_2 end
if test then cond_1 else cond_2 end
}
関数型言語であれば「(1) 条件判定(if/case)が式」で「(2) 局所宣言(let .. in .. end)が可能」なの当たり前
ところが残念な事に、どちらもPythonには欠落しているから、上の例はストレートにコード化できない
だからPythonではメソッドチェーンは使われないし、「酸っぱい葡萄」に見える
Rubyでもリスト内包表記が言語として組み込まれてくれると嬉しい
だと思う
頭に浮かんだロジックをすばやくコード化するのはメソッドチェーンが適しているし、
じっくり腰を据えてコード設計するならリスト内包表記のほうが美しい
自分は、たぶんこのスレもRubyコアの中の人も見ているだろうから
そのうちRubyにもリスト内包表記が実装されるんじゃないかと期待しているw
メソッドチェーンは書き易い
内包表記は見た目が整ってて綺麗、最終的な型がわかり易い
いじょ。
無念 Name としあき 11/09/28(水)11:58:41 No.77177766 del
… 無念 Name としあき 11/09/28(水)12:01:35 No.77178031 del
… 無念 Name としあき 11/09/28(水)12:02:06 No.77178070 del
オタ絵における「ハイエンド系」って何?
… 無念 Name としあき 11/09/28(水)12:03:08 No.77178154 del
… 無念 Name としあき 11/09/28(水)12:04:31 No.77178276 del
それくらい実体がないんだよ
… 無念 Name としあき 11/09/28(水)12:04:39 No.77178293 del
ハイエンドってオーバースペックとかそういうニュアンスかと思ってた
美大卒とか
… 無念 Name としあき 11/09/28(水)12:06:24 No.77178443 del
>美大卒とか
あ~
俺もそんな感じだわ
… 無念 Name としあき 11/09/28(水)12:06:28 No.77178449 del
>オタ絵における「ハイエンド系」って何?
エロゲ絵レベル低い!俺はもっと上手い連中を知ってる!と馬鹿ライターがムサビの連中をダシにしてドヤ顔するために作った言葉
定義は無い
… 無念 Name としあき 11/09/28(水)12:06:29 No.77178452 del
単に「巧い」ってことか?
… 無念 Name としあき 11/09/28(水)12:08:27 No.77178631 del
正直絵柄の流行り廃りは怖いと思いました
… 無念 Name としあき 11/09/28(水)12:08:57 No.77178674 del
ムサビ系でいいじゃねーか
… 無念 Name としあき 11/09/28(水)12:09:58 No.77178763 del
… 無念 Name としあき 11/09/28(水)12:10:15 No.77178786 del
>ムサビ系でいいじゃねーか
それ採用
… 無念 Name としあき 11/09/28(水)12:10:37 No.77178813 del
当事者が自ら名乗ってた訳でもないのに
… 無念 Name としあき 11/09/28(水)12:11:39 No.77178912 del
草食系とかみたいに
… 無念 Name としあき 11/09/28(水)12:17:51 No.77179473 del
当時主流の絵柄や塗りをガンガン否定して敵まで増やしてたな
あんなのに巻き込まれたら死ねる
… 無念 Name としあき 11/09/28(水)12:43:56 No.77182329 del
小川一水の表紙が多いけど
どれも出来良いんでオススメ
… 無念 Name としあき 11/09/28(水)12:46:22 No.77182587 del
前張りは描けなさそうだけど
… 無念 Name としあき 11/09/28(水)12:47:47 No.77182738 del
おおー 上手い
いわれてみると塗りのタッチに特徴があるような
仕事でこういう固い絵を描いて
プライベートでまえばるわけだな
… 無念 Name としあき 11/09/28(水)12:49:21 No.77182909 del
宇宙船と前張りを組み合わせた
… 無念 Name としあき 11/09/28(水)12:51:10 No.77183116 del
>宇宙船と前張りを組み合わせた
そして暗黒星雲賞受賞
… 無念 Name としあき 11/09/28(水)12:52:41 No.77183290 del
>宇宙船と前張りを組み合わせた
… 無念 Name としあき 11/09/28(水)12:54:19 No.77183458 del
まえばり業界にいるよりよっぽど先がありそうじゃねーか!
… 無念 Name としあき 11/09/28(水)12:55:07 No.77183557 del
>まえばり業界