Nick Sieger: RubyConf Day 2: Morning Sessions http://blog.nicksieger.com/articles/2007/11/04/rubyconf-morning-day-2 en-us 40 "RubyConf Day 2: Morning Sessions" by Charles Oliver Nutter <p>I think it&#8217;s important to point out that JRuby would include more code written in Ruby if it weren&#8217;t a severe performance penalty to do so&#46; Rubinius runs nontrivial applications some orders of magnitude slower than other impls because of the addtional complexity introduced by many layers of Ruby code&#46; I&#8217;m sure they&#8217;ll be able to solve their perf issues, and I believe we&#8217;ll be able to improve performance to the point where including some Ruby&#45;based core class impls wouldn&#8217;t be such a severe hit, but it&#8217;s going to be very hard to beat implementations with thicker kernels in the performance game&#46;</p> Sun, 04 Nov 2007 15:49:41 +0000 urn:uuid:20a30036-6980-474e-972b-3b84e61a7b83 http://blog.nicksieger.com/articles/2007/11/04/rubyconf-morning-day-2#comment-342 "RubyConf Day 2: Morning Sessions" by Nick <p>@Sutto: yes, thank you&#46;</p> Sun, 04 Nov 2007 12:57:51 +0000 urn:uuid:6374161d-477c-47b0-9d98-711d5a2dba42 http://blog.nicksieger.com/articles/2007/11/04/rubyconf-morning-day-2#comment-341 "RubyConf Day 2: Morning Sessions" by Sutto <p>&#8220;#1&#46;9</p> <pre><code>* 128,786 lines of Ruby * 0 lines of Ruby </code></pre> <p>&#8220;</p> <p>I&#8217;m guessing that should be 128,786 lines of C?</p> Sun, 04 Nov 2007 08:34:53 +0000 urn:uuid:8f75c367-0da0-417d-95cc-cbb73d53620f http://blog.nicksieger.com/articles/2007/11/04/rubyconf-morning-day-2#comment-340 RubyConf Day 2: Morning Sessions <h2>John Lam: IronRuby</h2> <p>Why IronRuby? John started with RubyCLR, which was a bridge between two languages/environments (&#46;NET CLR and Ruby)&#46; Last year he didn&#8217;t know he&#8217;d be uprooting his family from Toronto and moving to Seattle&#46; Now he finds himself in Microsoft trying to make sense of his new position&#46; He describes a number of higher level goals for himself and IronRuby at Microsoft&#46;</p> <p><em>Change or die&#46;</em> Involvement in open source can only go up, right? The challenge is that the company is already doing well, so it&#8217;s hard to convince middle management that anything should change&#46;</p> <p><em>Open source</em>&#46; To their credit, the IronRuby team appears to be on the leading edge of open source at Microsoft (c&#46;f Microsoft Public License)&#46; They also had planned all along to take external contributions, and have in fact started to receive them</p> <p><em>Rails&#46;</em> One of the key goals is to be true to the language, and that includes being able to Run Rails&#46;</p> <p><em>Performance&#46;</em> Use IronRuby as a testbed for DLR performance testing&#46;</p> <p>John is showing the REPL now (running under Mono actually), pointing out that &#8220;integer math is now supported&#8221; (apparently early on someone pointed out that subtraction didn&#8217;t work) and that CLR list types automatically appear like Ruby arrays&#46;</p> <p>Heavy DLR pitch ahead&#46; Performance history, how the CLR used to be slow for dynamic languages, and how it&#8217;s better now&#46;</p> <p>John is running the Rubinius specs now, and showing only 373 out of 1030 failing&#46; (It looked like he was running the core specs only&#46;) Praise for the Rubinius team!</p> <p>It&#8217;s possible to bind C# types to Ruby using annotations&#46; Lots of C# code being shown, including a mess of generated code&#46;</p> <p>John also showed a XAML/Silverlight demo that was scripted by Ruby&#46;</p> <h2>Charles Nutter and Thomas Enebo: JRuby</h2> <p>JRuby: &#8220;Not Just&#8221; JRuby for the JVM&#46; I found it hard to take notes for this talk since I&#8217;m so close to it&#46; Fortunately, their slides were pretty verbose and comprehensive, and hopefully will be posted shortly&#46;</p> <h2>Evan Phoenix: Rubinius</h2> <p>Rubinius talk in roller derby mode&#46; Ask questions early and often&#46;</p> <p>What is the end game of Rubinius (or JRuby, or IronRuby)? Total&#46; World&#46; Domination&#46; <strong>For Ruby!</strong></p> <p>Rubinius is 3 things: form, function, and elbow grease&#46; <code>Ruby::Syntax, Ruby::Behavior, and Google.search("crazy cs papers")</code>&#46;</p> <p><em>Rapid fire CS Nerd attack mode coming</em>&#46; Generational collection, bytecode execution, stackless, bytecode represenation, &#46;rba archives&#46;</p> <p>Who would rather program C than Ruby? Java? C#? (Only one guy raised his hand that he&#8217;d rather code C&#46;)</p> <p><em>Hard&#45;hitting portion of the talk&#46;</em> The kernel, broken down&#46;</p> <ul> <li><p>1&#46;8</p> <ul> <li>84,516 lines of C</li> <li>0 lines of Ruby</li> </ul></li> <li><p>1&#46;9</p> <ul> <li>128,786 lines of C</li> <li>0 lines of Ruby</li> </ul></li> <li><p>IronRuby</p> <ul> <li>48,282 lines of C#</li> <li>0 lines of Ruby</li> </ul></li> <li><p>JRuby</p> <ul> <li>114,507 lines of Java</li> <li>0 lines of Ruby*</li> </ul></li> </ul> <p>(*Even though I got heckled for saying it, JRuby does actually have some code written in Ruby that&#8217;s not the standard library&#46;)</p> <ul> <li>Rubinius <ul> <li>25,398 lines of C</li> <li>13,946 lines of Ruby</li> </ul></li> </ul> <p>1&#46;8 and 1&#46;9 are really Ruby for C programmers&#46; JRuby is Ruby for Java programmers&#46; IronRuby is Ruby for C# programmers&#46; But Rubinius is <em>Ruby for Ruby programmers</em>&#46;</p> <p>Dogfooding&#46; Gives feedback, which enables tighter loops, improves the kernel, makes life better for everyone on the platform&#46;</p> <p>Road, rubber, all that jazz&#46; Evan mentions that Rubinius runs 24 of 31 benchmarks faster than Ruby 1&#46;8, but the numbers are shifting rapidly&#46; Evan wanted a 1&#46;0 for RubyConf, but he has come to realize that several things are more important than a milestone&#46; Design, and the technical challenges, certainly&#46; But more importantly, the community&#46;</p> <p>Taking a cue from the Perl 6 community, <code>-Ofun</code>&#46; The free&#45;flowing commit bit, where patch sumbitters whose patches are accepted are immediately entitled commit rights, has given rise to 57 committers&#46; 17 of these have changed more than 400 lines of code&#46;</p> Sun, 04 Nov 2007 02:12:00 +0000 urn:uuid:26c1ed61-3411-4a33-9275-5014a5bc581e Nick Sieger http://blog.nicksieger.com/articles/2007/11/04/rubyconf-morning-day-2 rubyconf rubyconf2007 http://blog.nicksieger.com/articles/trackback/339