From: Eric Wong Date: 2011-10-26T07:15:08+09:00 Subject: [ruby-core:40382] Re: [ruby-trunk - Feature #5482] Rubinius as basis for Ruby 2.0 Charles Nutter wrote: > I think we should roll back to Evan's original pure-Ruby > implementation and get rid of all that nasty C++. After all, if we > truly believe that Ruby makes software development more enjoyable and > more productive, then it only stands to reason that we should > eliminate all non-Ruby languages from Ruby implementations. More seriously, I agree that Ruby should be used whenever it makes sense and I feel MRI uses too much C. However, I still spend more time with MRI (than Rubinius) for the following reasons: 1) From my experience, Rubinius aims to provide a Ruby environment. I don't want a "Ruby environment", I want Ruby to be a /part/ of my existing Unix environment (which includes sh/awk/sed/perl among others). I like MRI startup is still reasonably fast. I can easily swap out existing pieces of awk/sed for one-off Ruby scripts instead of one-off C programs when I need something I can't do as easily in awk/sed. I could use Perl instead of Ruby, but I prefer Ruby to Perl as a language. 2) I have no interest/skill in debugging/fixing C++ bugs in Rubinius. I usually fix C bugs in MRI without much effort. I suspect more potential contributors are capable of debugging/fixing C code _written_by_other_people_ than C++. Of course, more Ruby code would open the door to more maintainers, still. With better Ruby APIs (like String#byteslice in 1.9.3) and proposed non-blocking IO methods[1], I think more parts of MRI could be implemented in Ruby without significant performance loss. [1] http://redmine.ruby-lang.org/issues/5138