Ruby is still in infancy stages, Python is quite old. Hell Python was the inspiration for Ruby.
I mean look at what is happening in the Javascript space. If Ruby and JRuby implementations get really f-ing fast, we will get some major backings. The problem is that instead of improving Ruby, Twitter decided to ditch it. Maybe they really didn't have the people Google has when it comes to language builders. Since google app engine runs python it is in direct google interest to make it fast. Once it starts running ruby, vuala! So don't worry, they'll get to it.
I'm not sure exactly what you mean by this, but Rails 3 will still be a full stack framework. Something will be chosen for everything by default.
You'll be able to fully switch out ActiveRecord for DataMapper if you wish.
> Hell Python was the inspiration for Ruby.
I've never seen this before, usually I've heard Matz saying that it's Perl. Maybe a typo?
He's also referred to Ruby as "Matz Lisp."
So when does the "enlightenment experience" Eric Raymond promised come ? Or did Matz take it all :-D
I'm excited that rubinius is out, but I'm not sure at the moment what it's advantages are versus MRI in terms of practical use.
This is perhaps a silly question, but now that you have a solid base of ruby-in-ruby is there any room to re-optimize certain critical sections (hashes, sockets...) in C? Perhaps using a custom API that preserves most or all of the flexibility that is Rubinius's hallmark?
I presume that since you still support most compiled gems that linking to C code is still possible. Just wondering if there might be a best-of-both-worlds solution out there.
We support as subset of the MRI extension API, mainly we don't support anything using RBASIC(), RHASH(), or RREGXP() because those expose raw C data structures and we don't use the same data structures as MRI.
Still awesome though!
The reason for this is that core things like Hash and String and Array are written in pure ruby. And they are only like 1.5 times slower then the C impls in the other rubies. This means that it is optimized for running ruby code really fast, this means that once the edge cases are gone, rubinius will smoke all the other rubies hands down.