RubyがPythonのようなポジションを得られなかったのはなぜか 209
ストーリー by hylom
華麗か質実剛健か 部門より
華麗か質実剛健か 部門より
あるAnonymous Coward 曰く、
「Rubyが今のPythonの地位にいない理由」という話が話題になっている。
PythonもRubyも、Perlの後に出てきた言語ではあるが、Pythonはさまざまなシステムで使われている一方、Rubyの使われ方は限定的である。なぜこういった状況になったのかさまざまな意見が出ているが、皆様のご意見はいかがだろうか。
Obsol (スコア:5, 興味深い)
バージョンアップの度にライブラリが廃止
で互換性の無い別のライブラリを使えだったり
酷い時は前のバージョンであった機能が無くなってたり
柔軟性がある言語?少なくともライブラリを書く人達には互換性なんてどうでもよかった様子
Rubyを採用した企業のニュースが上がってたからチェックしたら、古いバージョンを固定して使ってて納得した記憶もある
Re:Obsol (スコア:2, 興味深い)
> bundlerとか使わないのか?
これかなー
ruby を(使う目的のプロダクトを)使いたいだけなのに、まず ruby をインストールします、システムに添付されているのはversionが古いので source から……それを使い分けるには rvm というものもありますがここは rbenv で……。次に gems 入れてください。そしてそれを使って bundler を入れてください。それからbundlerの……gemfileがどーのこーの……って使うための仕組みを整えるまでが大変なんじゃあ
で、やっと目的のものが動かせるようにできたと思ったらこれらの更新の方が目的物の更新より頻繁かつ大量だったりして、しまいにはruby管理システムのお守りをさせられている気がするようになって、もうrubyから全部消してしまえーってなったね。
そしてそれらが rubyそのものについてくるわけではない、ってところで印象最悪です
(数年前の印象です。今は知らないので売り込みよろしく ;p )
どっちも大いに使われている (スコア:5, 参考になる)
ビッグネームのソフトウェアを見れば、どちらも大いに使われている、と言って良いのではないかと思います。
Ruby:
Python:
現時点でPythonの方がメジャーだし、もうしばらく差は広がりそうですが。
日本でRubyが受け入れられPythonが駄目な理由 (スコア:4, すばらしい洞察)
決まってる。語感が悪いか、逆に良すぎるからだ。
( ゚∀゚)o彡゚おっぱい!おっぱい! [hatenablog.com]
Matz曰く (スコア:3, 興味深い)
他のコメントで出ている、Pythonでは科学計算などの多様なライブラリが作られ、あるいはRubyにおいてはRailsが流行したというのは、言語それ自体の優劣よりやはり「運」と言えるようなものに引っ張られたということは大いにあるでしょう。
一方で、言語自体の品質がライブラリ作者を惹きつけたという考えもあるでしょう。すらどの皆さんはどう思いますか?
Re:Matz曰く (スコア:3)
標準ライブラリのマルチプラットフォーム対応具合がPythonの方が優れていた印象。
初期の頃の印象ですが、RubyはやけにWindowsを嫌って無視していたような。
CG業界の組み込み言語としてもうPython一色なのも、
Windows, Linux, Macに対応したツールが書きやすいって点もありそうです。
Re:Matz曰く (スコア:1)
世の中には運で人気が左右されるものもあるが、Rubyの人気がないのは運のせいではないだろうな
運のせいにしていいのは万全の実力を備えた人が全力を尽くして、それでも駄目だった場合じゃね?
で、そのRubyの開発者は「RubyがうまくいかないのはMSのせい」と騒いでたくせに、最近ではMicrosoftのイベントに尻尾振って行って中途半端にRMS持ち上げてる [opensource.srad.jp]んだから、ある意味MicrosoftにとってもRMSにとっても迷惑なんじゃないだろうか
これは運かもしれない:p
Ruby に足りないのはバージョン間の互換性 (スコア:3, 興味深い)
バージョン間の互換性のなさが一番の問題だと思う。
俺は、 Ruby で書かれたコードのメンテはしたくない。
今はマシになったのかもしれないが、数年前は大変苦労させられた。
Re:Ruby に足りないのはバージョン間の互換性 (スコア:1)
昔聞いた話だと, RubyのコミュニティってのはRubyの使い方を議論する場ではなく, Rubyの実装方法を議論する場にしか見えない, なんてのがありますね.
yieldやコレクション操作の一行技とか好きだったけど (スコア:2)
他人には読めないと不評でして
なにこの (スコア:2)
擬人化の広告だらけ・・・
Rubyのコミュニティがキモいのは昔っからだろ (スコア:1)
"るびナントカ"とかハンドルネーム的に名乗る痛い奴とかな、見掛けたのMorphyOneがどうこう言ってた頃だから15~6年前か? うへぇと思った記憶あるわ。
研究者の立場としては (スコア:1)
初期から数値計算用のライブラリがあったかどうかが全て
あくまでも個人の感想 (スコア:1)
5年ぐらい前に、島根で勉強会みたいなのに参加したけど
コミュニティが閉鎖的で怖かったっていう印象
可読性? (スコア:1)
僕はPythonのほうがRubyより可読性に優れているという一点のみでPython推し
#読めるコードは大切です。
Re:可読性? (スコア:1)
Rubyのほうが読みやすいコードはかけるぞ?
読みにくいコードもかけるがそれは可読性とは言わない。
Re:可読性? (スコア:1)
可読性の高いコードを書けるようにする言語機能が、Rubyに多いのは事実。
そもそもそうでなければDSLに重宝されたり、Ruby on Railsが重宝されたりするような事態は発生していません。
個々のプログラマーが読みにくいプログラムを書くことは可能だが、
それは言語の可読性とは言いません。
あとまあ。
世間一般って具体的にどのあたり?
全プログラマー業界を代表できるような大々的なアンケートを取ったならご苦労様です。
Re:可読性? (スコア:1)
なるほど。
Ruby開発するなら馬鹿は入れてはいけない、
というのは私もよく言ってますね。
その話ですか。
ならいいですが、それを言語の可読性というのはどうかなあ。
まるっきり逆の意味によく使われる言葉を無造作に使っているわけですからね。
>極論を持ち出すやつはいいプログラマーにはなれないよ
皮肉が全く読解できなくてもプログラマーにはなれますね。
仕様書に皮肉書いてないですからね。
Re:可読性? (スコア:1)
>極論を持ち出すやつはいいプログラマーにはなれないよ
ん?
これはなんか根拠のある言葉ですか?逆のような気がしますが。
まわりの良いプログラマーは、
UUIDが被る危険がどのくらいあるか一応考えてはみる、
という人が多いがなあ。
普通は考慮しないところまで一応考慮するのが良いプログラマー。
Re:可読性? (スコア:1)
発言者がそう言いたかったのはわかりましたが、
言語機能を使いこなせない言語のほうが可読性が高いという意見には賛同する気にはなれませんね。
Cが一番読みやすいとか言っている人と同類ですし。
Re:可読性? (スコア:1)
たしかにCはここで言われているRubyの悪いところとよく似た性質をもっていますが。
今言っているのは、Rubyの良いところとは正反対の性質も持っているということです。
両方というのが始末に負えない。
似ているに邸内を考えるときは、どこが、ということをはっきりさせてかんがえましょう。
Re:可読性? (スコア:1)
>Cのもつ正反対の性質って何を指している。どこに書いてあった?
Rubyは高レイヤーなAPIの書きやすさが売りですよ。
Cはその辺の機能の少なさで有名です。
書いてあったというより当然の前提。
>設計思想としてプログラマにより力を揮わせるのが目的なんだから、他人から見た時の可読性が犠牲になるのは織り込み済みだよね。
Rubyは違いますね。
可読性を高めるために、プログラマにより力を揮わせる、という設計思想ですよ。
たまに、可読性を高めるために力を揮ったことがないプログラマーがいて、
話が通じないことがありますが。
そういう人にはあなたの知らない世界があるとしか説明しようがないなあ。
Re:可読性? (スコア:1)
「Ruby 可読性」でググったら上位二つはRubyが可読性のいい言語であるという話が出てくるので。
「あなたの中だけの前提を当然のように言われてもわからん。」
は私が言うべき言葉じゃないかな?
一般に使われているのと違う意味で単語を使うなら、
説明をつけるべきですよ。
>違いはあるのか聞いたんだけど。
あると答えましたよ。
>可読性に関しては個人の技量に拠っている。
個人の技量が高ければ高い可読性のプログラムが書ける言語ですよ。
Cは違いますよね?
Re:可読性? (スコア:1)
読みやすいコードが書けることが重要ではないですか?
読みにくいコードが書きたくなければ書かなければよい。
まあブラックな会社運営をしていなければ、の話になりますが。
Re:可読性? (スコア:1)
まじめな話、読みにくいコードを書こうとする人雇った場合、
言語の選択で何とかなります?
C#で5千行のメソッドとか見たことがありますが。
せいぜい五十歩百歩じゃないですか?
いや百歩の人がいない素晴らしい言語だ、とか言っていて悲しくなりませんか?
そういう人件費かけられないブラックな界隈でしか通用しない話題を、
一般常識みたいにいうのはどうでしょう?
一応現在のところ、
「Ruby 可読性」でググったら、可読性が高いという話が上位二つに来るので、
日本もまだ完全にブラック界隈に占領されたわけではないようですよ?
日の当たる道を歩くのをあきらめちゃうのはやめましょうよ。
似すぎているから、両方同じポジションは無理でしょうなあ (スコア:1)
ある意味、Python と Ruby は似てる存在だと思う.この二つがほぼ同時期に出現したら、そりゃどっちかしか流行らないんじゃないかねえ.流行ってる方に注力したほうが労力が無駄になる可能性が低いからねえ.
で、Python の方がなんというか、オープンというか、国際的な印象が個人的にはあったかな.あと、サイエンス関連のライブラリは断然 Python の方が強いので、結局そのあたりがじわじわと効いたんじゃないかねえ、という印象.
# 一時期 Ruby 触ってたけど、「なんつーか設計が理系向きじゃねーな.M さんは数学苦手なのかな」と思ったのを覚えてる.なにをみてそう思ったんだっけ…
Perl Python PHP (スコア:1)
「P」で始まってないからだろうが>Ruby
Perl 6の代わりとして (スコア:1)
Perlのencodingが実用に振っていないのが悪い。~とか。
基本はPerlだったけど意識してRubyを使っている。
Rubyはいままでのどの言語よりもこのへんで苦労していない。1.8でも2.xでも。
Pythonは2と3で互換性がないうえにencodingまわりでも苦労することが判明。使い込んでいないことも
あるのはたしかだけど。
悪いのは小飼弾。
発表時期 (スコア:0)
以上
でもPhthonはちょろっと使ってやめた
Rubyはまだ使ってる
Re:発表時期 (スコア:1)
Re: (スコア:0)
自分の場合、Ruby はちょろっと使ってすぐやめた。
Python は良く使う。
個人の経験って、人によるよね。
Re:発表時期 (スコア:1)
Shade 3DのスクリプトがPythonなので使う事に…
Rubyは仕事方面でサンプルに送られてきたけどRubyでなくても済んだので終了。
問題はライブラリの少なさ (スコア:0)
ライブラリの多いPythonに比べて、Rubyはライブラリが少なすぎます。
ちょっと複雑なことしようと思うと、Pythonしか選択肢がありません。
Re:問題はライブラリの少なさ (スコア:1)
Python->CコンパイラのCythonやら、pythonはC言語との連携が楽だから。速度の必要なライブラリが書きやすい。
型指定付きCythonならC言語と遜色ない速度が出せるし、
SIMDやGPGPUの様なローレベルの処理をCやC++で記述して、Pythonでラップ、規模が大きくなればCython化がシームレスにできるから、書いたコードが腐りにくい。
Re: (スコア:0)
>ライブラリの多いPythonに比べて、Rubyはライブラリが少なすぎます。
外部のライブラリの事をさしてるのならは根本的な問題じゃない
問題はそのライブラリがどうしてPythonの方がよくなったかだと思う
Re:問題はライブラリの少なさ (スコア:2, 興味深い)
アプリケーションへの採用が進まなかったからではないでしょうか?
3DCG方面は完全にPythonが事実上の標準になっています。
Re:問題はライブラリの少なさ (スコア:1)
Re: (スコア:0)
最初はちょっとした差だったのが広がったんじゃないの。
良いライブラリがあればユーザ数が増えてライブラリも増えるみたいな。
rubyは文法がクソ (スコア:0)
一般論としては、いちど差がつくと後は開く一方だよね
rubyにはユーザーを切り捨てまくってもっともっと先鋭化してもらって、アイデアの供給元になってほしいです
当然の結果 (スコア:0)
Rubyなんてなけりゃ日本でもPythonが流行ってたろうに
余計なことしやがって、としか思えないね
Re: (スコア:0)
日本語文献探そうとするとPythonよりRubyのほうが多いですからね……
Pythonの日本語もっともっと!
Re:当然の結果 (スコア:2)
Pythonは添付のチュートリアルやリファレンスマニュアルがよくできていて、UNIXでman使ってればわかる程度のやさしい英語だった。まわりに使っている人がいなくても独りで学習できた。
たまに捨てコード書くような頻度で学んだのだけど、文法を忘れててもすぐ思い出せるのがよかった。PerlやRubyの記号は「えーっと、これの定義はなんだっけ?」って調べなおすのが苦で。
そんなこんなで、調べないとやり方がわからないけどスクリプト書いて済ませたいなぁ、という作業をするのに使うのはPython。やり方を調べればできる、という信頼感がある。
Unicode普及前でASCIIで済む人たちが多言語化なんて配慮しなかったころから、Pythonは文字列バイナリ扱いでこっちに丸投げさせるようにできたのも良かった。
Perlに似たウンザリ感 (スコア:0)
Perl使いの移行先として見ると、Rubyは同じ穴の狢的な空気だった。個人の感想です
Re:Perlに似たウンザリ感 (スコア:1)
しかし、その点でPythonが優れてたかというと、そんなことも無いと思う
Re:Perlに似たウンザリ感 (スコア:1)
ん~ウンザリとは別な感じがする。
perl は後方互換性がある方だし、そう考えると従来 perl を使っていた
スクリプト作成者が python に移ったんじゃないかって思う。
でどんなスクリプト作ってたかっていうと、perl からの移行と思うと
OS 環境のメンテ用とか簡単な監視とかcgiとか?ん~でもちょっとイメージ違うかな。
ruby は web 方面では Rails があるから結構使われているので、
そういう意味では perl -> python, php -> ruby 的な相似を感じる(利用者層的に)。
[Q][W][E][R][T][Y]
Re:for文の有無 (スコア:1)
Rubyにfor文はありますよ。
ほとんど使われていないだけで。
それともfor式だって言ってます?
Re:逆になんでPythonがここまで使われてるんだろう (スコア:2)
初期の1.6のころ、組み込みシステムに一緒にビルドして利用してよいライセンスだったと記憶してる。
比較的小さかったし、当時は商用システムに一緒にビルドして入れてもOKなんて珍しかった。
Re:残念でもなけりゃ当然 (スコア:1)
# 昔はわたしも KernelEx のお世話になったものだ。
続・オフトピ(-1) (Was: Re:Pythonの壁) (スコア:1)
>が近いと思うよ。
国営放送のテレビ番組のくせして、
王室をいじったり、
スコットランドをジョークのネタにしたり、
省庁の補助金政策を皮肉ったり
などの部分はかけ離れていますけどね。
…広川太一郎が繰り広げるアドリブがあれば似てると思わなくもないけど。
Re:続・オフトピ(-1) (Was: Re:Pythonの壁) (スコア:1)
>宗教ネタも
国営放送にあるまじき手口が「3つ!」と言い切っておけばよかった…。
残念なことを。
ものの数を数え損なうバカ進行と法衣コスチュームを笑いに結びつける手法は
>>ひょうきん族とかドリフ
と指摘しているスレ元に回帰していることに今気が付いた。