id:k-z-h RSSフィード

2008-09-20

[][][] いい加減Ruby信者がうざい件

Ruby信者の特徴

  • Matzは神であり神による実装であるRubyこそが唯一絶対の言語である
  • 他の言語(特にPerl)は存在自体が悪である
  • 他の言語を使っているのはRubyを知らないからである
  • Rubyを布教することでそのような不幸な子羊たちを救済することこそが正義である

どこかの世界宗教のようですね。


「Perlベストプラクティス」まとめ を読んでふと「Ruby使えばいいのに」と思った - World Wide Walker

PBPより先に、Perlを選択する時点で、RubyよりもPerlを使いたいという前提があることを考えて欲しい。

その上でPerlをよりよく(という言い方もあまり好きじゃないけど、ほかにいい言い方が思い浮かばない)運用する方法がPBPなんだろ。

それに対して「それRuby(略」っていう発言は場違いであると思わない?


Perl の There are many ways to do it. と言う考え方は好きだけど、実際には too many ways だったり、後から小声で But, the best way is only one. だなんて言われそうな気がするのがなぁ、と思ってしまう。

当然 too many ways だろ。

その too many ways の中から more better なものを選ぶのがエンジニアとしての技量なんじゃねーの?

あと the best way なんてものは存在しないよ。


is_validやhas_foundなど真偽値にちなんだ名前にする。

foo.valid? や bar.found? と書ければ一目瞭然。

そうでもない。関数名に?が来るという時点でまずruby使わない人間から見ると異常。

あとこの例だとfound?はhas_foundという意味よりis_foundという意味に俺は取ってしまったんだが。

省略するのはいいけど、省略しすぎて情報が落ちてないか?


どうしても必要なとき以外はmyによるレキシカル変数だけを使う。

なぜ標準が lexical にならないんですかね(もちろん過去互換性のためだろうけど)。

変数宣言が暗黙だと変数名をtypoしたときにコンパイル時点でエラーにならないからだろJK。


ループで配列ハッシュインデックスを使わない。配列を直接ループさせる。

こんなのや、 keys %hash は遅いから values %hash を使う なんてのは Bad Know-how 以外の何者でもないな。Ruby なら hash.each do |key, value| .... end と明瞭にかける。

インデックス回して書いた方が人間が見てわかりやすいならそう書くべき。

その上で必要ならチューニングする。

PBPもこれ書いてる人が考えるBestなだけで、実際にこれがBestだと決まってるわけじゃない。


[Ruby] Ruby >>>(越えられない壁)>>> perl (第一種臨界不測日記)

このような開けた場所で不等号を並べて越えられない壁とか臆面もなく書けるあたり尊敬します。


しかし、Webの記事とか、googleで上の方に出てくるのとか、

その辺、全然考慮してなかったりするんだよヽ(`Д´)ノ ウワァァン!!

PerlのコードはGoogleなどで検索するとレガシーなコードの方が多くHITしてしまいます。

これはPerlRubyに比べると歴史が長いため、レガシーなコードほど多く蓄積されてしまっているからじゃないかと考えています。

良質なコードを摂取したいというのならば最近更新されていて、よく使われている評価の高いCPANモジュールのソースを読むことをオススメします。


使っている人もgeekな人が多いせいか、

Rubyを使っている人=geek=自分はgeekということですね。

自分で自分のことをgeekと言う人ほど信用できないものはないと思います。

最後に

自分の考えをまとめると、Perlが全てのエンジニアにとって使いやすい言語ではないのと同じように、Rubyも全てのエンジニアにとって使いやすい言語ではないということです。

別にRubyという言語やそのコミュニティが嫌いだというわけではなく、このことを忘れて(あるいは考えず)、他の言語をDISってRubyをプッシュしてくる信者が大変鬱陶しいということ。

WebといえばPerl/CGIだった時を考えてください。

この時代にあなたが生まれていたとしたら、Webの世界に入りましたか?

答えはNOですか?それは悲しいことじゃないですか?

色々な言語がサーバサイドの言語として使われることで、幅広い層のエンジニアがWebの世界に足を踏み入れるわけです。

それによってそれぞれの言語のコミュニティが活発化して、お互いに影響しあって成長していくんじゃないですか?

言語がどうこうなんて小さいことじゃなくて、もっと大きな視点を持つべきなんじゃないですか?

yooseeyoosee 2008/09/20 06:22 私は引用されているBlogの中で『いやもちろん、こんな事だけで「Perl よりも Ruby の方がいいよ!」などと言いたいわけではないので念のため。所詮は言語なんて、使えるなら好きな方を、制約条件があるなら使わなければならない方を使うしかないんだし。でも上記のような部分は、個人的には Ruby の方が楽だなと思う。』と書いてるんですが、意図的に無視されてます? 私はPerlも使うし、更にバッドノウハウ満載なcやc++も使っているんですが。
言語とやりたい事によって書きやすさが違うなんて当たり前で、そこから選択可能なら書きやすい言語を選ぶのは、エンジニアとしての技量ではないんでしょうか。

とおりすがりとおりすがり 2008/09/20 07:17 ウザイのは Ruby ではなく信者って部分、つまりは人によりけりだよね。上の米みて納得しました。

とおりすがり2とおりすがり2 2008/09/20 09:13 んー、反論したいばかりに無理な主張をしてる感じがなくはない。
PerlとRubyなんて近親憎悪もいいところだよ。
いいじゃん、信者うざい、で。
あーあ、はやくPerl6が出てくれないかなぁ。

プログラミング初心者プログラミング初心者 2008/09/20 10:03 関数名に?は確かに異常。でも、perlも引数の取り方とかも異常。
プログラミングを最近、勉強し始めた自分から見たらどれも一長一短。
そうゆう意味で、phpはほんと初心者向けで良いと思う。
でも、ほかの言語知ると、phpは使いたくなくなるけど。
素人から見ると、何で言語間でそんなにしょっちゅうもめるのかわからん。

とおりすがり3とおりすがり3 2008/09/20 10:05 言語なんてあくまで手段。
前提条件次第でどれが最適な言語(手段)かどうかなんて変わるし、前提条件が共有されていないなら議論になるわけもなく。vi/emacs, win/macみたいなただの宗教戦争。
基本的に一人でコードを書く前提で、(その人にとって)早く効率よく気持ちよく書けるならなんだってええじゃまいか、と思うのが正直なところ。
そう言う意味で元記事のruby信者云々は納得いくような出来事が多い気がする。ruby好きで他言語をdisる人が周りにちょこちょこいるから、そういう気がするだけなんだが。

個人的には技術者ならどんな道具でも扱えるぜ!でも一番の得意技は○○だぜ!みたいなほうがかっこいいと思うけどねー

通りすがり通りすがり 2008/09/20 10:33 昔、ビデオにもβとVHSってのがあってだn(ry
Rubyが便利なのは解るんだけど、Perlの様な言語が必要とされていた時代にRubyは何でなかったの?便利なんでしょ?ってことに行き着くと思うんだよね。
RubyはLL言語とかの欠点を踏まえて設計しているわけだから優れてて当たり前。ただ必要とされていた当時、Rubyが存在していなかった事や時代を考えずに比較されて、なんでRuby使わないの?って言われても「無かったから」としか言いようがないよね。
今のRubyでは逆立ちしても得ることが出来ない、Perlの過去からの資産、人やコードをひがんでいるとしか見えないんだよねー。なんて極論w

通りすがり4通りすがり4 2008/09/20 11:12 もっと大きな視点を持つべきだと思ったのはあなただってことが、このページを読んだ感想です。

mashuemashue 2008/09/20 13:18 more better(笑)

通りすがり通りすがり 2008/09/20 13:57 yooseeがうざいって点は間違いなく真実だと思った。

通りかけ通りかけ 2008/09/20 14:10 よく見たらスラドのyooseeさんだった。
つ「スルー力」

通り中通り中 2008/09/20 14:52 ?はLispだろ

通りすがり5通りすがり5 2008/09/20 15:22 って言うかMatzがうざいんだけどね(笑)

通りすがり6通りすがり6 2008/09/20 15:50 「Ruby 使えばいいのに」と「…個人的には Ruby の方が楽だなと思う。」が同じ意味ではまったくない事を、信者は理解すべきだと思う。ウザいというよりむしろキモい。

tobytoby 2008/09/20 16:54 ホッテントリからきました。「第一種臨界不測日記」のTOBYです。
とりあげてくださり、ありがとうございます!!

正直なところを言いますと、増田とかでなくブログで記事を書いてホッテントリする貴ブログをうらやましくさえ思います。
私は増田でネタエントリーを書いてようやく15〜20ブクマもらうので精一杯です。
もしよろしければ、ホッテントリー入りするコツを教えていただけないでしょうか?

貴ブログの活躍を祈っています。それでは!

P.S.
Perlのこと書き忘れてました!
私は以前にPerlを使いこなそうと錯誤した後があります。もしよかったら貴ブログでも関連エントリを扱ってもらえたらな、と思います。

Perl/10年前で止まっているperlから脱却する方法 - TOBY SOFT wiki
http://tobysoft.net/wiki/index.php?Perl%2F10%C7%AF%C1%B0%A4%C7%BB%DF%A4%DE%A4%C3%A4%C6%A4%A4%A4%EBperl%A4%AB%A4%E9%C3%A6%B5%D1%A4%B9%A4%EB%CA%FD%CB%A1

通りすがり7通りすがり7 2008/09/20 18:09 Ruby信者がPerlをdisる事が多いのは、
Ruby使いたいけどPerlを強制される場面が多いから、かな。

とおりすがりとおりすがり 2008/09/20 18:21 コメント欄が見事に爆釣でワロタ

とおりすがりとおりすがり 2008/09/21 01:52 Ruby 信者を dis っていうのは分かるけど、まとまりがない記事だなぁ。

「言語がどうこうっていうより〜」というのが結論なんだから、そこだけ書けばいいのに、相手と同じレベルに立って「言語がどうこう」について延々反論しているのがこのエントリが失敗している理由だと思う。

なまえなまえ 2008/09/21 13:06 >言語がどうこうなんて小さいことじゃなくて、もっと大きな視点を持つべきなんじゃないですか?
この言葉をそっくりそのままあなたにお返しします。

とおりすがりとおりすがり 2008/09/21 13:36 むしろ、Perl 信者必死だな、っていう感じだな。俺は他人の書いた Perl のソース読めないから Ruby に流れたクチだけどwwww

MasaHeroMasaHero 2008/09/21 17:28 PerlもRubyもチュートリアルで挫折してPythonに走った私が来ました。
で、Ruby信者もPerl信者も傍から見ると同じです。”使い”じゃなく”信者”がですが。
>WebといえばPerl/CGIだった時を考えてください。
その時はPerlを使わずCでCGIを書きました。いやあ懐かしい。90年代後半のことですね。

madeinasiamadeinasia 2008/09/21 17:37 視野が狭い人はLv4から上には行けません

http://www.geekpage.jp/blog/?id=2007/7/9

とおりすがりとおりすがり 2008/09/21 21:18 rubyうんぬんじゃなく、perlが終わってるってことに気づけよ。

なまえなまえ 2008/09/22 01:07 世間一般的には、自分の信奉するものをやたらと人にプッシュする人を信者というのかもしれませんが
私は、自分の信奉しているものを否定・批判されたときにむきになる人こそが信者だと思うのです

人格否定攻撃的な書き出しをしておいて、「もっと大きな視点を持つべき」などと結べる感覚が良くわかりません。
yooseeさんが信者だというのであれば、k-z-hさんは狂信者という感じがします
あらゆる批判を受け付けない感じです

御自分でも言っているように、「Perlが全てのエンジニアにとって使いやすい言語ではない」がゆえに
yooseeさんにはPerlに気に入らない点があり、Rubyの方が楽だと感じているだけのことですよ

ゲスト