Nick Sieger: RubyConf: Matz Roundtable tag:blog.nicksieger.com,2005:Typo Typo 2010-11-22T20:51:34+00:00 Anand urn:uuid:f46b7121-d00b-43c7-9e6b-2cf7ef9bd994 2007-01-25T15:52:23+00:00 2010-11-22T20:51:34+00:00 Comment on RubyConf: Matz Roundtable by Anand <p>Amazing&#46;&#46;&#46;&#46;&#46;&#46;&#46;&#46;&#46;&#46;&#46;</p> Jon Dahl urn:uuid:9127fc87-9be8-4217-984b-3e5c17c09d04 2006-10-21T20:15:11+00:00 2010-11-22T20:51:35+00:00 Comment on RubyConf: Matz Roundtable by Jon Dahl <p>This is great &#45; thanks for taking the time to blog these sessions&#46;</p> Nick Sieger urn:uuid:4056b0d7-7b02-4fae-b5b7-536b0cfa5b76 2006-10-21T02:59:38+00:00 2010-11-22T18:11:21+00:00 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&#46; Transcript follows with partial paraphrasing&#46;</em></p> <p><em>Q&#46; Will Ruby ever get the features of <code>evil</code> built in? Will we get <code>become</code>?</em> No&#46;</p> <p><em>Q&#46; 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 &#45;&#45; following tradition&#46;</p> <p><em>Q&#46; What&#8217;s the most unusual architecture Ruby has ever run on?</em> Ruby&#46;&#46;&#46;I can&#8217;t think of one&#46;&#46;&#46;JRuby? Some guys ran compiled Ruby on the NECS supercomputer&#46; [From the audience] Symbian&#46;</p> <p><em>Q&#46; As Ruby gains acceptance, it becomes more resistance to change&#46; How do you keep agile while gaining momentum?</em> We have forked off 1&#46;8, so if you want stable, use Ruby 1&#46;8 forever&#46;</p> <p><em>Q&#46; The array patch &#45;&#45; is there any chance of a backport for those of us who want 1&#46;8 forever?</em> Could be, but the current patch has a bug in 1&#46;9&#46;</p> <p><em>Q&#46; Why isn&#8217;t YARV the only VM for 1&#46;9? [Comment about register&#45;based VM]</em> I&#8217;m not sure whether stack&#45;based or register&#45;based VMs are better&#46;&#46;&#46;[THAT GUY!]&#46;&#46;&#46;[Given the hook]</p> <p><em>Q&#46; It seems like momentum is based on strong metaprogramming facilities&#46; With 1&#46;9 there are more user&#45;friendly features&#46; 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&#46; I&#8217;m not sure that s&#45;expressions are the way to go&#46; We&#8217;re not going to have macros&#46; It will remain similar to what we have in 1&#46;9&#46; <em>The ability to serialize code would be really powerful &#45;&#45; will that happen?</em> Disclosing internal state is tricky because it changes&#46; It could be a platform&#45;specific feature&#46;</p> <p><em>Q&#46; Recently for 1&#46;9, there was a patch for Array and String to be in the object header&#46; Was this profiled? It seems like it would be an incredible performance problem&#46;</em> It was done for slowness of malloc and gc&#46; In some cases it could run slower, but it benchmarked at about 5% faster&#46; It should be tested thoroughly&#46;</p> <p><em>Q&#46; Ruby 2&#46;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&#46;</p> <p><em>Q&#46; People want to see development move quickly, but may not be able to contribute code&#46; Can you suggest ways for those programmers to contribute?</em> Submit patches to the list&#46; What is the obstacle to joining us? [Question restated] Submit testing, submit documentation&#46; Contribute to RubyCentral? (looks at Chad Fowler)</p> <p><em>Q&#46; The CSV library is useful, but slow&#46; 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&#46;</p> <p><em>Q&#46; I want to thank you because I love writing in Ruby every day&#46; I tried to write Python first&#46; Recently an unrelated upgrade broke my Python apps&#46; Will we be able to manage multiple versions of Ruby?</em> You&#8217;ll have to have two versions, 1&#46;8, and future ones&#46;</p> <p><em>Q&#46; 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&#46; I&#8217;ve been working on Ruby for 13 years&#46;</p> <p><em>Q&#46; I wanted to see in IRB how the class was implemented at runtime&#46; (He means an uneval feature)</em> [Audience member (Eric Hodel?) mentioned ParseTree]</p> <p><em>Q&#46; If there wasn&#8217;t Ruby, what would you be programming in?</em> Some language of my own not named Ruby&#46;</p> <p><em>Q&#46; Do you still look at RCRchive?</em> Yes&#46; I&#8217;ll talk about it in the keynote&#46;</p> <p><em>Q&#46; I would like a feature abstraction that would allow Ruby to fork itself rather than actually forking&#46; Can you see this added to core?</em> We have to define the behavior of that feature&#46; We have to have a good name for the method&#46; Then there will be no problem to add it to core&#46;</p> <p><em>Q&#46; 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&#46;</p> <p><em>Q&#46; What do you think of Ruby&#46;NET?</em> I&#8217;m pretty open to new implementations&#46; <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&#46;8 spec</a>, and I&#8217;ll help him with that if I have time&#46;</p>