Nick Sieger: RubyConf: Matz Roundtable http://blog.nicksieger.com/articles/2006/10/21/rubyconf-matz-roundtable en-us 40 do what you love "RubyConf: Matz Roundtable" by Anand <p>Amazing&#8230;&#8230;&#8230;..</p> Thu, 25 Jan 2007 15:52:23 +0000 urn:uuid:f46b7121-d00b-43c7-9e6b-2cf7ef9bd994 http://blog.nicksieger.com/articles/2006/10/21/rubyconf-matz-roundtable#comment-200 "RubyConf: Matz Roundtable" by Jon Dahl <p>This is great - thanks for taking the time to blog these sessions.</p> Sat, 21 Oct 2006 20:15:11 +0000 urn:uuid:9127fc87-9be8-4217-984b-3e5c17c09d04 http://blog.nicksieger.com/articles/2006/10/21/rubyconf-matz-roundtable#comment-90 RubyConf: Matz Roundtable <p><em>An annual tradition at RubyConf is the &#8220;Roundtable&#8221;, where any member of the audience can come up and ask Matz any question. Transcript follows with partial paraphrasing.</em></p> <p><em>Q. Will Ruby ever get the features of <code>evil</code> built in? Will we get <code>become</code>?</em> No.</p> <p><em>Q. If Symbol is a &#8220;frozen&#8221; String, why do we need Symbol?</em> I don&#8217;t have a complete answer to that question &#8211; following tradition.</p> <p><em>Q. What&#8217;s the most unusual architecture Ruby has ever run on?</em> Ruby&#8230;I can&#8217;t think of one&#8230;JRuby? Some guys ran compiled Ruby on the NECS supercomputer. [From the audience] Symbian.</p> <p><em>Q. As Ruby gains acceptance, it becomes more resistance to change. How do you keep agile while gaining momentum?</em> We have forked off 1.8, so if you want stable, use Ruby 1.8 forever.</p> <p><em>Q. The array patch &#8211; is there any chance of a backport for those of us who want 1.8 forever?</em> Could be, but the current patch has a bug in 1.9.</p> <p><em>Q. Why isn&#8217;t YARV the only VM for 1.9? [Comment about register-based VM]</em> I&#8217;m not sure whether stack-based or register-based VMs are better&#8230;[THAT GUY!]&#8230;[Given the hook]</p> <p><em>Q. It seems like momentum is based on strong metaprogramming facilities. With 1.9 there are more user-friendly features. Will code eventually be data, or are we just patching on techniques on a tool that is being used more heavily?</em> An extreme way to do metaprogramming is to use Lisp, but for practicality we have to start somewhere. I&#8217;m not sure that s-expressions are the way to go. We&#8217;re not going to have macros. It will remain similar to what we have in 1.9. <em>The ability to serialize code would be really powerful &#8211; will that happen?</em> Disclosing internal state is tricky because it changes. It could be a platform-specific feature.</p> <p><em>Q. Recently for 1.9, there was a patch for Array and String to be in the object header. Was this profiled? It seems like it would be an incredible performance problem.</em> It was done for slowness of malloc and gc. In some cases it could run slower, but it benchmarked at about 5% faster. It should be tested thoroughly.</p> <p><em>Q. Ruby 2.0 will not have green threads or continuations, correct? Are there specific reasons for that decision?</em> It is difficult to implement green threads in YARV.</p> <p><em>Q. People want to see development move quickly, but may not be able to contribute code. Can you suggest ways for those programmers to contribute?</em> Submit patches to the list. What is the obstacle to joining us? [Question restated] Submit testing, submit documentation. Contribute to RubyCentral? (looks at Chad Fowler)</p> <p><em>Q. The CSV library is useful, but slow. Can we see FasterCSV in stdlib?</em> It&#8217;s ok to replace the csv library with FasterCSV, as long as the compatibility issues are resolved.</p> <p><em>Q. I want to thank you because I love writing in Ruby every day. I tried to write Python first. Recently an unrelated upgrade broke my Python apps. Will we be able to manage multiple versions of Ruby?</em> You&#8217;ll have to have two versions, 1.8, and future ones.</p> <p><em>Q. What would you say is the most important feature of your personality that has given you success?</em> Endurance? <em>Can you elaborate?</em> It&#8217;s easy to design a language, many of them disappear in a year or two. I&#8217;ve been working on Ruby for 13 years.</p> <p><em>Q. I wanted to see in IRB how the class was implemented at runtime. (He means an uneval feature)</em> [Audience member (Eric Hodel?) mentioned ParseTree]</p> <p><em>Q. If there wasn&#8217;t Ruby, what would you be programming in?</em> Some language of my own not named Ruby.</p> <p><em>Q. Do you still look at RCRchive?</em> Yes. I&#8217;ll talk about it in the keynote.</p> <p><em>Q. I would like a feature abstraction that would allow Ruby to fork itself rather than actually forking. Can you see this added to core?</em> We have to define the behavior of that feature. We have to have a good name for the method. Then there will be no problem to add it to core.</p> <p><em>Q. Why do you need to bind methods to an object of the same original module?</em> If you bind a method taken from String class to Array class, it will crash, and we need to prevent it.</p> <p><em>Q. What do you think of Ruby.NET?</em> I&#8217;m pretty open to new implementations. <em>Should there be a standard (language specs) that other projects should follow?</em> <a href="http://headius.blogspot.com">Charles</a> started work for a <a href="http://www.headius.com/rubyspec/">written 1.8 spec</a>, and I&#8217;ll help him with that if I have time.</p> Sat, 21 Oct 2006 02:59:38 +0000 urn:uuid:4056b0d7-7b02-4fae-b5b7-536b0cfa5b76 Nick Sieger http://blog.nicksieger.com/articles/2006/10/21/rubyconf-matz-roundtable rubyconf rubyconf2006 http://blog.nicksieger.com/articles/trackback/83