Obie FernandezによるJAOOレポート。 「What Makes Ruby Roll?」というセッションが開かれたのだそうだ。行きたかったかも。
それは、それとして(我らがDave "Pragmatic" Thomasではない方の)Dave Thomasがホストする 「How will we be programming in 2016?」というパネルでの質問。
これに対するパネリストの答えは以下の通り。
まず、Kevlin Henney。
Someone will have rewritten it by then. Yes, will succeed where Smalltalk failed because it's not bound up in the smalltalk environment (you can open up Ruby files in Notepad). Also, do not underestimate how important a 'normal' if statement is. The biggest problem with Smalltalk is Smalltalkers.
誰かが(実装を?)書きなおしてるだろう。Smalltalkのように「失敗」しないだろう。Smalltalkの最大の問題はそのユーザである。
次に、Erik Meijer。
Hopefully they'll get closures right and hopefully they'll discover type inference.
クロージャをまともにしてて欲しいなあ。あと、型推論を取り込んでるといい。
Dave Thomas。
As long as the people who have big checks are running on the CLR and JVM Ruby will have to crossover to those platforms to succeed. Business and economics were the downfall of Smalltalk, not natural selection. The "arrogance of the smalltalk communities sealed the lid".
Rubyが成功するためにはCLRやJVMとうまくやらなくちゃ。お金のある連中はそこにいるから。Smalltalkの場合、ビジネスと経済が足を引っ張った。Smalltalkコミュニティの傲慢さが蓋を閉じた(成功できない理由だった)のだから。
Steve Vinoski。
A new vm is needed (for performance reasons). I don't think Ruby will look like Java in 10 years, because that's the point. I do think that type inference will make it's way in.
新しいVMが必要(性能上の理由)。その理由でRubyはJavaのようにはならないと思う。型推論が道を開くかも。
なるほどねえ。さて10年後のRubyはどうなるか、か。 10年後、私が生きてるかどうかで全然違う気もするけど。
もうちょっと考えてみたい気がする。言語そのものはあんまり変わってないような気もするけど、周辺技術やライブラリまで含めると意外な変化があるかも。
Groovyのitのようなものをmethod_missingを使って実装する。つまり
people.select { |x| x.name.length > 10 }
のようなのを
people.select(&its.name.length > 10)
と書けるように。いや、すげーよ、それ。
ゴルフとは如何に少ないストロークでホールインするかを競う競技である。
コードゴルフとは、如何に少ないキーストローク(バイト数)で、プログラムを実装できるかを競う競技である。「end」が3ストロークもあるRubyは圧倒的に不利のような気もするが、実は健闘している。ある程度以上複雑な問題になるとRubyの方が強いことが多いみたい。 それでも、Perlの連中が本気になったら恐ろしいことになるような気もする。
っていうか、あなたたち、どうやってその短さでプログラムを書けますか? 正気ですか?
Code Golf では end なんて書きませんw
ためしに1つ書いてみましたが,とても足元にも及びませんでした...
でも面白いですね,これ.
はじめまして。 Perl は変数プレフィクスの $ が制限になってそうな気がします。書いてみていないので想像ですが。
今、暫定で2位なんですが、もし、自分でやってみるおつもりがなくて、興味おありでしたらどんな Ruby コード書いているか、お送りしてみましょうか?
the point とは、"Ruby does not look like Java" ですから、訳としては「10年後のRubyはJavaのようにはなってないと思う。だって、JavaじゃないのがRubyなんだから」くらいかと思う。
「10年後のRubyはJavaのようにはなってないと思う。だって、JavaじゃないのがRubyなんだから」くらいかと。
なるほど、そう読むんですね。> nhさん
"sealed the lid"は「止めを刺した」的なニュアンスだと思います。
むかしSmalltalkを使っていたから実感があるけど、Smalltalkがうまくいかなかったのは、初期はハードウェア、ソフトウェア、ヒューマンリソースのいずれもイニシャライズコストが高かったから。その後はSmalltalkは独立したシステム志向で、それを動かすプラットフォームとの親和性がよくなかったから。ハードウェア、ソフトウェアのコストが下がった頃は色々な実装が出てきていて互換性がなく、SmalltalkはWrite Oneで済まない。コミュニティといっているけどSmalltalkの場合、コミュニティ云々っていえるだけの人口を持っていなかったし。全文を読んでいないけど、もし引き写した通りとするなら、ちょっとSmalltalkに対して見方が間違っていると思う。
Rubyの今後だけどちょっと。今年4月に東京でPyPy-Sprintの連中と話したんだけど、あのような活動をEUの資金で運営できているPython陣営から比べるとかなり、組織論的にも技術論的にも遅れているという印象がある。その辺を改善できるように期待したい。
Smalltalkの経緯などについては分かりませんが(sumimさんを召喚しちゃうかな)、Pythonと比較した組織論的、技術論的差異の指摘はもっともだと感じます。とはいえ、どうしたもんだか。