<?xml version="1.0" encoding="UTF-8"?>
<article>
  <content>&lt;p&gt;Oldmoe: Hello Matz, we&amp;rsquo;d like to start with the question, What are we going to see with Ruby 1.9.2?&lt;br /&gt;Matz: An even more stable 1.9.x,&amp;nbsp; 1.9.0 was released 2 years ago but not really that stable (much more like a technology preview) After one more year of working we released 1.9.1 which was delayed a bit. The community assigned an official release manager for 1.9.x series to streamline the releasing process. While 1.9.1 is supposed to be stable we aim to make 1.9.2 even more stable and more compatible with 1.8.7. Lots of bugs got fixed. Unicode processing is more stable and faster than 1.9.1.&amp;nbsp; &lt;br /&gt;Oldmoe: What is the status of the Ruby GC in 1.9.2? Some of the latest commits indicate a generational collector is being experimented with.&lt;br /&gt;Matz: Author Nari is assigned GC experimentation. He wrote a patch that provides generational support for special node objects. Those are allocated on a different heap that is scanned less frequently. Ko1 recently changed the byte code structure to use less node references which should also make GC runs finish faster. This is most useful in applications that load lots of classes and modules, e.g. Rails.&lt;br /&gt;Oldmoe: What else is planned for 1.9.2?&lt;br /&gt;Matz: No syntax changes planned. A notable thing is that we relaxed limitations on time periods for the Time classes, we are no longer limited by UNIX time periods. And the good thing is that we still use UNIX time for performance when the time object lies within its boundaries.&lt;br /&gt;Oldmoe: And what is planned after 1.9.2?&lt;br /&gt;Matz: Work should start on Ruby 2.0, I want to improve on the code scalability aspect of the language design. May be introducing a new name space management that helps with huge projects. This tough to implement efficiently so we need to investigate this.&lt;br /&gt;Oldmoe: Do you code in other languages? Python?&lt;br /&gt;Matz: I write several lines of code to experiment with it. It has a rich set of libraries. But the design is drastically different.&lt;br /&gt;Oldmoe: Are you considering any new programming models to incorporate into Ruby?&lt;br /&gt;Matz: It might be good to utilize multiple processes for multicore processing. Also Ruby provides very little in IPC primitives. It would probably be good to have a multiprocessing implementation.&lt;br /&gt;Oldmoe: Shouldn&amp;rsquo;t the standard library go on diet?&lt;br /&gt;Matz: Maybe but it&amp;rsquo;s a long term process, we need to emphasize compatibility between minor versions. Not the case with Ruby 2.0 which should have less bundled libraries.&lt;br /&gt;Oldmoe: Do you have any design regressions? Things you wish were done differently?&lt;br /&gt;Matz: Local variable scoping. When the scope is determined lexically but other scopes might affect it in place. Can cause bugs that are quite difficult to find.&lt;br /&gt;Oldmoe: How do you see the Ruby community lately&lt;br /&gt;Matz: I still think the Ruby people are &amp;lsquo;nice&amp;rsquo; people and I want them to be fair. There should be no dictatorship. Everyone should be rational with each other.&lt;br /&gt;Our challenge is how to embrace the people from the rails community and we need to integrate them into the culture of the Ruby language.&lt;br /&gt;Oldmoe: Shouldn&amp;rsquo;t the Ruby culture evolve to adapt them?&lt;br /&gt;Matz: The Ruby culture should evolve all the time. 10 years ago we were more influenced by Perl programmers. Recently functional language programmers are leading the cultural change.&lt;br /&gt;Oldmoe: Aren&amp;rsquo;t you afraid that one day the PHP programmers will be leading the cultural change?&lt;br /&gt;Matz: I hope we can integrate them as well.&lt;br /&gt;Oldmoe: Any exciting news for Ruby that you can share with us?&lt;br /&gt;Matz: The Japanese government gave a grant for making Ruby and other Japanese software projects faster. For them to suitable for HPC by may be utilizing some sort of JIT compiler or&amp;nbsp; a AOT compiler. We aim to build NumPy, SciPy equivalents for Ruby to make Ruby suitable for areas beyond web development.&lt;br /&gt;Oldmoe: What about embedding Ruby?&lt;br /&gt;Matz: No budget is set yet but it is on the Radar so it has to progress on a community basis as of currently.&lt;br /&gt;Oldmoe: When you wrote Ruby did you see that it will make this revolution in web development?&lt;br /&gt;Matz: No, I have not seen that, it really exceeded my expectations. Feels like living a dream, one that you don&amp;rsquo;t want to wake up from.&lt;br /&gt;Oldmoe: With the new Ruby implementations appearing everyday aren&amp;rsquo;t you afraid to lose your control of the language?&lt;br /&gt;Matz: Currently they respect my design and even if they take it beyond that I will be a fork and not Ruby itself (maybe Ruby++) so I am not worried that much.&lt;br /&gt;Oldmoe: Thank you Matz for your time.&lt;/p&gt;</content>
  <created-at type="datetime">2009-08-30T03:30:03Z</created-at>
  <discuss-url>http://railsmagazine.com/forums/2/topics/75</discuss-url>
  <id type="integer">47</id>
  <issue-id type="integer">4</issue-id>
  <number type="integer">11</number>
  <title>Interview with Matz</title>
  <updated-at type="datetime">2009-12-24T20:54:50Z</updated-at>
</article>
