「まつもと氏を超える貢献数」という Ruby 開発者なかだのぶよし氏、Heroku の支援を受ける 41
ストーリー by reo
IaaS ばっかやってる日系クラウドときたら… 部門より
IaaS ばっかやってる日系クラウドときたら… 部門より
ある Anonymous Coward 曰く、
先日 Ruby の創始者まつもとゆきひろ氏が Heroku の Ruby チーフアーキテクトとなったことが伝えられた (/.J 記事) 。Heroku を擁する セールスフォースは Ruby コミュニティの支援を宣言していたのだが、この一環として Ruby 開発者であるなかだのぶよし氏がセールスフォース日本法人に正社員として入社したそうだ (Rails Hub 情報局) 。
なかだ氏は Ruby へのコミット数においてまつもと氏を超えているとも言われている開発者。興味深いのが、なかだ氏はセールスフォースで製品開発等に関わるわけではなく、Ruby の開発が業務になるという点。「これまで通り Ruby の開発に尽力することが仕事であって、六本木の日本法人オフィスへ出社することとか、何か報告することなどという義務は、今のところないそうです」とのことで、経済的にも十分に報われるという。
ついでに (スコア:1, 興味深い)
Re: (スコア:0)
jpmobile の類には各携帯キャリアが金出してもいいと思うんだ。
Rubyはオワコン (スコア:1, すばらしい洞察)
プログラミングRubyのRubyベタボメっぷりにRubyを使い始めて早10数年、使えば使う程にRubyって駄目だなと痛感する
Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
1.4時代のコードが1.6になった途端に互換性がなくなり動かなくなることはあったが、1.6→1.8ではそれが顕著になり、1.9など何のエラーも出さずに前のコードが動く方が珍しいほど
それどころか1.9に行かずREEが海外ではデファクトになりつつある現状、そして始まるPlain RubyとREEの方言問題
例えばPassengerもREEの方がうまく動いたり、かと思えば特定のバージョンだとPlainじゃないとまともに動かなかったりと、とても面倒臭い
美しいコードを求める為の副作用、という名の互換性のなさはRuby界全体に蔓延していて
例えばあれだけもてはやされたRailsも、Rails2とRails3の互換性のなさに誰しも苦労したのは記憶に新しいところ
誰もが互換性のなさに辟易し、俺ライブラリを量産するため、gemで探すと似たような事をする終わったプロジェクトがわんさか引っかかる
諸処の小さなプロジェクトだけがそんな現状ならば許せるが、dbiアダプタでさえそんな現状なのでバージョンが変わるとデータベースにすら接続できなくなったとか、dbiのAPIバージョン変わったのにアダプタ側の更新ないな、とか思ってるとアダプタ作者がRubyから足洗ってたとか余裕
身内同士でRubyはコードが美しいと四六時中自画自賛しているが、実はそれこそがRubyのガン
その美しいコードという名のオナニーの為に一体どれだけの互換性と人的リソースが失われていったことか
Rubyのコードは美しい、Railsスゲー、ベタボメする人は沢山いたがいつも一過性の人気しか得られないのはそこにあるし
ベタボメしていた人達もしばらくするとウンザリしてRuby界から消えてしまうのも原因は実はそこにある
達人プログラマーはRubyをベタボメしなくなったし、Mongrel作者はRailsどころかRubyに見切りをつけちゃったしね
ああいう熱狂的なRuby信者でもRubyから足を洗っているのを見ると、tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる
あえて言おうRubyはオワコンであると
Re:Rubyはオワコン (スコア:3, 参考になる)
> tDiaryがRubyに見切りつけてPythonで全部書き直したとか言われても驚かないだろう自分がいる
なんでここでtDiaryが引き合いにだされるのかよくわからないけど反応してみますが、tDiaryは度重なるrubyのバージョンアップにさしたる苦労もなく追従してきた歴史あるアプリケーションなので、あなたの指摘のほとんどが的外れであると言えます。なんでこれが「すばらしい洞察」なの?
1.9対応はそれなりに苦労はしましたが、それは1.8でも動く(つまり1.8/1.9両対応)を目指したからであって、1.8→1.9のパス自体はほとんど機械的な対応ですむ程度には互換性が保たれています。きちんとテストが書かれている今どきのアプリケーションなら、苦労らしい苦労はないんじゃないですかね。
rubyが非互換を出すときはそれが「好ましい」かどうかをしっかり吟味した上で決断しているので、むしろ歓迎すべき非互換の方が多いです。古き悪しき仕様にしがみついてより効率的で良いコードが書ける改良を受け入れないなんて、エンジニアとしてありえませんよ。
ただただし
Re:Rubyはオワコン (スコア:1)
REE=Ruby Enterprise Edition [rubyenterp...dition.com]とPassenger [modrails.com]は同じ開発元が作ってるプロダクト。自分のところの製品同士を組み合わせでオリジナルのRubyよりも優れている点が無かったら、REEの存在意義が無いような気がするんですが。
# てゆーか「Rails + Passengerの組み合わせに最適化されたRuby」
# ってのがREEの実態だと思う。
オワコンってなに? (スコア:0)
「終わったことにしたいコンテンツ」の略 (スコア:0)
「オワコン」と書いてる人にとって終わったことにしたいもの、もしくは終わってくれないと困るものについて使用される
Re: (スコア:0)
どうせ他人の意見なんて聞きもしない連中なんだろうよ。
Re: (スコア:0)
趣味で使うぶんには面白いと思うけど
そういう遊びでしょ?
仕事に使おうとするから話がややこしくなるんだわ
Re: (スコア:0)
Re: (スコア:0)
せめてRuby特有の問題と、言語一般の問題は分けてね。
互換性の問題もライブラリの整備問題も、他の言語でも少なからず見られる問題。
Rubyだけ特別に多いとは思わないけど、そういうソースあるの?
開発者が言語を乗り換えるのもよくある話で、Rubyから抜ける人だけが多い様には見えないけど。
百歩譲ってRubyのそのあたりの問題が他言語より多かったとしても、コードの美しさ
(これは保守性の高さにも繋がるので、自己満足のためだけのように書くのはどうかな)
と天秤に掛けてどの言語を使うか決めればいいだけでしょ。
Re:Rubyはオワコン (スコア:1, おもしろおかしい)
ありますよ。ちょっと待って下さいね。
Rubyだけが特別に問題が多いと言う情報ソースお持ちの方いらっしゃいますか?
Re:Rubyはオワコン (スコア:1)
CもC++もPerlもPHPもGroovyもユーザーが集まって、そのフィードバックを元に言語として完成されていく過程での互換性はこんな風にひどいものだった。Rubyはそこから学んで何とか問題を最小限に抑えようとはしているし、開発陣の趣味と言うにはあまりにも長く1.8.7をサポートして移行パスを用意してきた。
が、それに比べてもJavaの互換性サポートは素晴らしすぎる。古い文法でコンパイルした.classをリンクすれば今どきのライブラリのjarと一緒に動作するし、最新のランタイムでそのまま動く。それと比べれば、Rubyは今回は1.8-1.9 shimも提供できていないし見劣りするのは事実かと。それをRuby特有の問題だと思ってしまう当たりに元コメントの視野の狭さが伺えて、Javaしか知らないのかなーと疑る。
やっぱりライブラリレベルではshimを用意して、あとは1.8-1.9 translatorを書けば少しはましになるのかな。
Re: (スコア:0, 参考になる)
なぜこれほど事実誤認だらけのコメントに "すばらしい洞察" がついているのかわかりません。
モデレータの人は、自分で正しいかどうか判断できない内容ならば、せめてモデレーションせずに放置しておいて欲しいものです。
> Rubyを学習し始めた頃は誰でもRubyは素晴しいと思うのだが、数年も使えばそのどうしようもない互換性のなさにウンザリする
> しかも互換性が無くなることをマズいと思っていない集団がRubyを制作しているのでどうしようもない
これはポリシーの問題です。
Rubyは後方互換性を犠牲にすることで、優れたAPIや洗練されたコードを提供することを選択してい
Re:Rubyはオワコン (スコア:1)
> もしも、長期にわたって同じコードを動かし続ける必要があって、言語のバージョンアップが不可避で、
> かつコードのメンテナンスが不可能な業務 (あまり多くない気がしますが) にRubyを選択したのなら、それは選択ミスでしょう。
それならば仕事でRubyは使いにくいという事にはなりませんか?
セキュリティの問題で、バージョンアップは避けられない場合は有ると思います。
その時に互換性の問題で余計な工数が他の言語よりかかるのは嫌な物です。
お金を出してくれるとは思えませんしね。
Re: (スコア:0)
言語のメジャーバージョンアップが避けられない環境に向いていないという意味ではその通りですが、実際に問題になるケースはあまり多くないものと思います。
セキュリティ対応が目的ならば、セキュリティパッチやマイナーバージョンアップで済むことが多く、その場合に互換性の問題が出る可能性は非常に低いものです。
自らメジャーバージョンアップを選択するのならば、それはおそらく開発やメンテナンスが続いている場合でしょうし、コードのメンテナンスのための工数が割けることも多いでしょう。
管理者に勝手にメジャーバージョンアップをされてしまう環境であったとしても、最悪は野良ビルドを自分で監理することで対応できるケースも多いでしょう。
そう考えると、問題となるのは、勝手にRubyのメジャーバージョンアップをされる可能性があり、野良ビルドも許されず、環境の変化によるメンテナンスの工数も割けない場合くらいで、それほど頻繁にあるものではないと思います。
Re:Rubyはオワコン (スコア:1)
Rubyだけの問題ではなく、
OSやら他の環境からの影響も考えると、
そうとも言えないと思います。
Re:Rubyはオワコン (スコア:1)
長々と書いてあるけど、結局元コメと同じことを言ってるだけですよね。
長期的にしっかりとメンテナンスを考慮するなら、仕様がコロコロ変わる Ruby をビジネスで使うとかあり得ない、と。
個人的には、質がある程度担保できない人数のプロジェクトになったりするような場合でも、ちょっと採用したくないな、という感じはありますが。
Re: (スコア:0)
> 長期的にしっかりとメンテナンスを考慮するなら、仕様がコロコロ変わる Ruby をビジネスで使うとかあり得ない、と。
"長期的にしっかりとメンテナンス" というのが何を指しているか曖昧ですが、前述の "勝手にRubyのメジャーバージョンアップをされる可能性があり、野良ビルドも許されず、環境の変化によるメンテナンスの工数も割けない場合" に該当するのならその通りだと思います。まあ、その条件だとRuby以外にもダメ出しされる言語が多そうではありますが。
自分でRubyの実行環境を監理できたり、メジャーバージョンアップの際にメンテナンスができたり、そもそもあまり長期に使用しない用途ならビジネスでも十分に使えますし、実際に使われています。案件毎の条件によって向いている言語を使えば良いだけでしょう。
Re:Rubyはオワコン (スコア:1)
「勝手に Ruby のメジャーバージョンアップをされる可能性があり、野良ビルドも許されず」というのは開発者視点ですよね。
運用視点から見ると、前者は OS の更新やハードウェア故障等に伴う機器入れ替えによるバージョン変更などのパターンが考えられますね。また、別例としては「専用サーバーを用意できないのでこれで動かしてください」なんていうのもあり得ますか。そういった場合に 1.8.6 と 1.8.7 の壁のようなものはちょっと困りますね。
後者は Ruby を動かすシステムにそれだけのコストをかける価値があるかどうか次第でしょうが、基本的には論外ではないでしょうか。
メンテナンス作業を属人化/特殊化したり、メジャーバージョンアップのたびにメンテナンスコストが発生したりするのは基本的に避けたいですし、ビジネスではできるだけ避けたいところですね。
長期に使用しない用途 (使い捨てのものとか) ならそれこそなんでもいいと思いますが。
Re: (スコア:0)
開発者視点からは、動作環境 (言語のバージョンを含む) を最初に合意してから開発に入るというのが一般的だと思います。その場合、異なるバージョンで不具合が出たケースはサポート対象外としても問題ないと思います (さすがにセキュリティパッチを当てたら動かなくなった、くらいは対応する必要があると思いますが) 。これはRuby以外の言語でも同様ですね。
運用者視点からは、特にビジネスで使う場合、動作させるソフトウェアの動作環境に合わせて環境を組むのが一般的だと思うのですが、Ruby1.8.6用のソフトウェアをRuby1.8.7で動かさなければいけなくて困るという
Re: (スコア:0)
> モデレータの人は、自分で正しいかどうか判断できない内容ならば、せめてモデレーションせずに放置しておいて欲しいものです。
"荒し"が付いていることにはノータッチですか。大したダブルスタンダードですね。
Re: (スコア:0)
モデレータがきちんと内容を理解してそのコメント内に含まれる大量の間違いに気付いたのなら荒らしとしても問題ないでしょう (荒らし、という言葉のニュアンスはあまり良くないですが、/.のモデレーションには他に近いものがないのでしかたないでしょう) 。
どこがダブルスタンダードなのでしょうか?
Re: (スコア:0)
モデレーションはいろんな人がプラスマイナスして、その総計がスコアになる。なかには間違ったモデレーションもあるだろうけれど、総計するとそんなに間違ってはないだろうという設計。集合知という奴だね。
とりあえず、自分の価値観に合わないモデはカスだと言うあんたがカスだということだけは一連の流れで分かった。で、そんな奴がRubyを持ち上げているから、Rubyもカスだという印象が広まる。ネガキャンという奴ですか?
Re: (スコア:0)
> モデレーションはいろんな人がプラスマイナスして、その総計がスコアになる。なかには間違ったモデレーションもあるだろうけれど、
> 総計するとそんなに間違ってはないだろうという設計。集合知という奴だね。
モデレーションは集合知の必要条件である独立性を満たしていないので、集合知にはなり得ません。
最初についたモデレーションや付けられたコメントに左右されるものをいくら集めても集合知にはなりません。
> とりあえず、自分の価値観に合わないモデはカスだと言うあんたがカスだということだけは一連の流れで分かった。
私は価値観の話はしていませ
Re: (スコア:0)
Re: (スコア:0)
いいえ。
正しいか間違っているかは、私が気に入る気に入らないとは無関係です。
どのコメントをみてそう誤解されたのでしょうか。
Re: (スコア:0)
それをあんたは自分が絶対に正しい、正しいのだから読者はそれを反論が書かれる前に(!)察知して、ゆめゆめ元コメをプラスモデなさるなと言っている。
自己中心的なのもここまでくると戦慄するしかないね。
Re: (スコア:0)
> あんたが元コメに反論したところで、どちらが正しいか(より妥当か)の判断は読者にまかされているわけ。
私は明らかに事実と異なる点を指摘しています。
事実は私やあなたや読者の判断とは関係無く一意に決まっていることです。
世の中には事実がどちらか判断しにくいものもあり、それらの真偽は読者が判断するべきですが、
今回私が指摘した内容は何が事実か明らかなものばかりです。
読者の判断にゆだねなければいけないほど判断しにくい内容があったのならばぜひ指摘してください。
> それをあんたは自分が絶対に正しい、正しいのだから読者はそれを
Re: (スコア:0)
> 事実は私やあなたや読者の判断とは関係無く一意に決まっていることです。
「そして私こそが事実を知る無謬の存在である」ってか。
なんという思い上がり。
Re: (スコア:0)
少なくともこのスレッドで指摘したような基本的で明確な事実についてはその通りです。
間違いあるのならばぜひ指摘して下さい。
Re: (スコア:0)
1.9.1 はもう古い (スコア:0)
>1.9.0 (開発版) と 1.9.1 (安定版) のどちらを指しているのでしょうか?
>1.9.0ならが起こりうることだと思います。
すみません、ここだけツッコませてください。1.9.1 はもう古いです(サポートも終わってたような)。
1.9.2 が最新版でもうそろそろ 1.9.3 がリリースされる予定。
Re: (スコア:0)
元コメのACです。
その通りです。
"1.9.1 (安定版) " ではなく、"1.9.1以降 (安定版) " が正しいですね。
ご指摘感謝します。
まつもとゆきひろ、なかだのぶよし、... (スコア:0)
こくごをべんきょうしてこなかった、なわけないよね。かっこいいとおもってるのかな。
それとも、あれだ、せんきょのぽすたあとおなじりゆう?ていがくれきのあいてぃどかた
たちにもあぴーるできるようにってことか。
Re:まつもとゆきひろ、なかだのぶよし、... (スコア:1)
言われてみれば、ただただし氏とかもそうですねぇ。
ああ、でもまつもと氏はMatzもそれなりに広まっているから、ひらがな限定というわけでもないような。
Re: (スコア:0)
Cokeがコカコーラの愛称であるように、
Matzもあの人のの愛称やペンネームみたいなもんだと思ってる。
田中さんや松本さんなら山ほどいるが、
Matz氏と言えば通常は日本にただ一人のあの人のことを指す。
Re:まつもとゆきひろ、なかだのぶよし、... (スコア:1, 興味深い)
「伸悦」は読める人間のほうが稀というかほぼゼロ、だから。
Re:まつもとゆきひろ、なかだのぶよし、... (スコア:1)
その点まつもとさんはひらがなにしているがためにこういう目 [twitpic.com]に遭っている気がする。
#漢字だったら間違えないですよね
Re: (スコア:0)
少なくとも彼らは本文をひらがなのみで書いていない。