<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Perlblogs &#187; Rakudo</title>
	<atom:link href="http://perlblogs.com/category/rakudo/feed/" rel="self" type="application/rss+xml" />
	<link>http://perlblogs.com</link>
	<description>Posts from selected Perl bloggers</description>
	<lastBuildDate>Fri, 18 May 2012 19:03:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>Why My Side Project Doesn&#8217;t Use Perl 6</title>
		<link>http://www.modernperlbooks.com/mt/2011/08/why-my-side-project-doesnt-use-perl-6.html</link>
		<comments>http://www.modernperlbooks.com/mt/2011/08/why-my-side-project-doesnt-use-perl-6.html#comments</comments>
		<pubDate>Mon, 29 Aug 2011 16:46:13 +0000</pubDate>
		<dc:creator>chromatic</dc:creator>
				<category><![CDATA[cpan]]></category>
		<category><![CDATA[modernperl]]></category>
		<category><![CDATA[perl5]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false">http://perlblogs.com/?guid=5cf8d714abbefd4ce25963d6b9417202</guid>
		<description><![CDATA[My little application (10 Years Later, Only 250 SLOC) has grown to almost 500 SLOC, and it'll grow some more as I add user accounts and login. I'm happy to use Catalyst for the dynamic portions, as the abstractions and...]]></description>
			<content:encoded><![CDATA[
        <p>My little application (<a
href="http://www.modernperlbooks.com/mt/2011/08/10-years-later-only-250-sloc.html">10
Years Later, Only 250 SLOC</a>) has grown to almost 500 SLOC, and it'll grow
some more as I add user accounts and login. I'm happy to use <a
href="http://catalystframework.org/">Catalyst</a> for the dynamic portions, as
the abstractions and plugins are useful and reduce the amount of code I have to
write.</p>

<p>Using modern Perl 5 for one portion of the project does not necessarily
require the use of Perl 5 for all of the project.</p>

<p>I've long been an advocate of Perl 6 the language, so is it worth using Perl
6 for the other part of the project? The big contender is obviously <a
href="http://rakudo.org/">Rakudo</a>, because it is the most active project and
runs on a free software stack I can debug myself. (The other possible candidate
implementtation, Niecza, runs on Mono, which disqualifies it from my
considerations. Your personal technology choices may not be mine. I have no
interest in discussing Mono here.)</p>

<p>I posted the other day <a
href="http://ttjjss.wordpress.com/2011/08/24/what-is-production-ready/#comment-92">my
list of requirements to use Rakudo for practical purposes</a>. What do I need
technically?</p>

<p>This little app must:</p>

<ul>

<li>Communicate with a database. I don't necessarily need <a href="http://search.cpan.org/perldoc?DBIx::Class">DBIx::Class</a> for a project of this size, but I do need the ability to work with <a href="http://sqlite.org/">SQLite</a> now and <a href="http://postgresql.org/">PostgreSQL</a> later. Without DBIC, I'd have to do more work mapping tables and rows to objects, but the schema is simple enough it's not too onerous.</li>

<li>Communicate with websites. I do need the equivalent of <a href="http://search.cpan.org/perldoc?LWP">LWP</a>. While I do use at least one specialty web service consumer module from the CPAN, I could as easily perform HTML scraping.</li>

<li>Manage regular expressions, <em>not</em> grammars. Part of the project
requires HTML scraping. If I were prone to overengineering, I'd write a full
Perl 6 grammar for this. As it is, some quick and dirty data munging is more
than sufficient right now for this proof of concept.</li>

<li>Work with a decent templating system. I know there's no <a
href="http://template-toolkit.org">Template Toolkit</a> system for Perl 6 right
now, but I don't use all of TT's power. I need only a few features: variable
interpolation, loops, conditionals, and subtemplates. If I had to reinvent a
template system or work around it I could, but why would I want to? (I am in no
mood to reinvent HTML escaping or to correct UTF-8 encoding either.)</li>

<li>Work with dates and times. I use Perl 5's <a href="http://search.cpan.org/perldoc?DateTime">DateTime</a>. Never again will I reinvent date or time handling. Never.</li>

<li>Deploy easily. I use <a href="http://dzil.org">Dist::Zilla</a> to manage bundling and testing. The simpler the work to deploy new versions and corrections, the more frequently I will do it. Again, Dzil does far more than I need, but what it needs I hate to give up.</li>

</ul>

<p>Speed doesn't really matter for this application. It's a batch process which
runs once a day and takes 10 seconds in Perl 5, mostly because I haven't done
any work to exploit the embarrassingly parallel nature of the processing. If
Rakudo ran it in ten minutes, that would be fine. (With that said, the data set
will probably eventually scale by two orders of magnitude, so improving the
Perl 5 version's parallelism <em>is</em> useful but would likely help a Rakudo
version less.)</p>

<p>Memory use <em>does</em> matter, because I've deployed this application to a
shared server and want to be a good citizen.</p>

<p>The stability of Rakudo as a target platform also matters, because I've set up this program to run without manual intervention for days, weeks, and even months. I understand that one of Rakudo's goals is to produce new and better versions every month or so, and I understand that me babysitting a Perl 6 version of this little app would provide valuable feedback to Rakudo developers...</p>

<p>... but I can't justify turning a fire-and-forget tiny side project into the tip of a spear intended to open the tent for further, larger projects.</p>

<p>I could work around the lack of most of the few modules I need. (Database
access is the only real sticking point.) Yet even for a small side
project&mdash;a toy project, even&mdash;with minimal needs, I find myself not
wanting to use Rakudo because I'd rather spend my small side project time
working on the small side project and not trying to get the technology stack
beneath that small side project to stay put.</p>

<p>The conventional wisdom in #perl6 seems to be that Perl 6 needs more people
playing with it to find bugs and more people building its equivalent of CPAN to
attract more people to play with it. In my experience, Perl 6 needs something
at a lower level: Perl 6 needs an implementation which provides <a
href="http://perlgeek.de/blog-en/perl-6/rakudo-star-announced.html">what Rakudo
Star was supposed to be</a>. A year after the release of the first Rakudo Star,
Rakudo isn't it, at least for me.</p>

<p>Maybe your project is different, and maybe your needs are different from
mine. All I know is that while I'd liked to have used Perl 6 for this project,
it didn't work out, and that's disappointing.</p>

        
    ]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2011/08/29/why-my-side-project-doesnt-use-perl-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rakudo.org relaunched</title>
		<link>http://feedproxy.google.com/~r/PerlBuzz/~3/Fh_aEBSflgI/rakudoorg-relaunched.html</link>
		<comments>http://feedproxy.google.com/~r/PerlBuzz/~3/Fh_aEBSflgI/rakudoorg-relaunched.html#comments</comments>
		<pubDate>Thu, 12 May 2011 16:13:56 +0000</pubDate>
		<dc:creator>Andy Lester</dc:creator>
				<category><![CDATA[Perl 6]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[rakudo.org, the home for Rakudo Perl 6, has been relaunched. Patrick Michaud has migrated it from the Drupal instance that I set up to a new home on WordPress. This means two big changes: The RSS feed now updates correctly....]]></description>
			<content:encoded><![CDATA[
        <p><a href="http://rakudo.org">rakudo.org</a>, the home for Rakudo Perl 6, has been relaunched.  Patrick Michaud has migrated it from the Drupal instance that I set up to a new home on WordPress.  This means two big changes:</p>

<ul>
<li>The RSS feed now updates correctly.</li>
<li>No more crashing the website for unknown reasons.</li>
</ul>

<p>I'd tried to figure out the core problems behind these, but could never track them down.  Thanks to Patrick for converting over to a new system and taking over maintenance of the blog!</p>

        

    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Fh_aEBSflgI:nohmOV3SYpk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Fh_aEBSflgI:nohmOV3SYpk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=Fh_aEBSflgI:nohmOV3SYpk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Fh_aEBSflgI:nohmOV3SYpk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=Fh_aEBSflgI:nohmOV3SYpk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Fh_aEBSflgI:nohmOV3SYpk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/PerlBuzz/~4/Fh_aEBSflgI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2011/05/12/rakudo-org-relaunched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perlbuzz news roundup for 2011-04-06</title>
		<link>http://feedproxy.google.com/~r/PerlBuzz/~3/7pPOb-rWtXI/perlbuzz-news-roundup-for-2011-04-06.html</link>
		<comments>http://feedproxy.google.com/~r/PerlBuzz/~3/7pPOb-rWtXI/perlbuzz-news-roundup-for-2011-04-06.html#comments</comments>
		<pubDate>Wed, 06 Apr 2011 14:20:51 +0000</pubDate>
		<dc:creator>Andy Lester</dc:creator>
				<category><![CDATA[Perl 5]]></category>
		<category><![CDATA[Perl 6]]></category>
		<category><![CDATA[Perl Foundation]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. PPM Index: A new way to browse Perl packages (activestate.com) perl.org is now hosting the master CPAN mirror...]]></description>
			<content:encoded><![CDATA[
        <p>
These links are collected from the
<a href="http://twitter.com/perlbuzz">Perlbuzz Twitter feed</a>.
If you have suggestions for news bits, please mail me at
<a href="mailto:andy@perlbuzz.com">andy@perlbuzz.com</a>.
</p>

<ul>

<li>PPM Index: A new way to browse Perl packages (<a href="http://www.activestate.com/blog/2011/02/ppm-index-new-way-browse-perl-packages">activestate.com</a>)</li>
<li>perl.org is now hosting the master CPAN mirror (<a href="http://log.perl.org/2011/02/now-hosting-the-master-mirror-for-cpan.html">log.perl.org</a>)</li>
<li>DTrace and Perl (<a href="https://dgl.cx/2011/01/dtrace-and-perl">dgl.cx</a>)</li>
<li>Why aren't there more women in open source? Most of the same reasons they aren't contributing to Wikipedia. (<a href="http://www.nytimes.com/roomfordebate/2011/02/02/where-are-the-women-in-wikipedia/">nytimes.com</a>)</li>
<li>Language trends as reflected in paper book sales (<a href="http://radar.oreilly.com/2011/02/2010-book-market-4.html">radar.oreilly.com</a>)</li>
<li>Unifying the two worlds of Perl 5 (<a href="http://www.modernperlbooks.com/mt/2011/02/unifying-the-two-worlds-of-perl-5.html">modernperlbooks.com</a>)</li>
<li>The death of tribal knowledge, and why it matters to Perl (<a href="http://www.modernperlbooks.com/mt/2011/02/unifying-the-two-worlds-of-perl-5.html">modernperlbooks.com</a>)</li>
<li>How to replicate a CPAN module failure (<a href="http://www.dagolden.com/index.php/1354/how-to-replicate-a-failure/">dagolden.com</a>)</li>
<li>Dealing with legacy Perl code: A free webcast (<a href="http://oreillynet.com/pub/e/1880">oreillynet.com</a>)</li>
<li>Introduction to Smart::Comments and Devel::Cover (<a href="http://perltraining.com.au/tips/2011-02-25.html">perltraining.com.au</a>)</li>
<li>Interview with me about ack (<a href="http://blueparen.com/node/5">blueparen.com</a>)</li>
<li>Why <a href="http://twitter.com/chromatic_x">@chromatic_x</a>'s Modern Perl teaches OO with Moose (<a href="http://www.modernperlbooks.com/mt/2011/03/why-modern-perl-teaches-oo-with-moose.html">modernperlbooks.com</a>)</li>
<li>Call for venue for YAPC::Europe::2012 (<a href="http://www.yapceurope.org/news.html#20110304">yapceurope.org</a>)</li>
<li>What should be core in Perl 5.16? (<a href="http://blogs.perl.org/users/brian_d_foy/2011/03/what-should-be-core-in-perl-516.html">blogs.perl.org</a>)</li>
<li>Facebook authentication with Perl (<a href="http://www.perl.com/pub/2011/03/facebook-authentication-with-perl-and-facebookgraph.html">perl.com</a>)</li>
<li>Perlnews.org lauched by Leo Lapworth and Dave Cross. (<a href="http://perlnews.org/">perlnews.org</a>)</li>
<li>Perl to the rescue: case study of deleting a large directory (<a href="http://blogs.perl.org/users/randal_l_schwartz/2011/03/perl-to-the-rescue-case-study-of-deleting-a-large-directory.html">blogs.perl.org</a>)</li>
<li>Why PSGI/Plack matters (<a href="http://www.modernperlbooks.com/mt/2011/03/why-psgiplack-matters-testing.html">modernperlbooks.com</a>)</li>
<li>Big CPAN.org update (<a href="http://log.perl.org/2011/03/big-cpanorg-update.html">log.perl.org</a>)</li>
<li>Planet Perl is retiring. (<a href="http://perlnews.org/2011/03/planet-perl-retiring-switch-to-perlsphere/">perlnews.org</a>)</li>
<li>Reviewing "Perl Best Practices" re: objects (<a href="http://blog.urth.org/2011/03/reviewing-perl-best-practices-chapter-15-objects.html">blog.urth.org</a>)</li>
<li>search.cpan.org has syntax highlighting (<a href="http://blogs.perl.org/users/mark_a_stratman/2011/03/syntax-highlighting-for-searchcpanorg.html">blogs.perl.org</a>)</li>
<li>Parrot Foundation on Google Code-In (<a href="http://google-opensource.blogspot.com/2011/03/parrot-foundation-reflects-on-google.html">google-opensource.blogspot.com</a>)</li>
<li>Python for Perl programmers (<a href="http://everythingsysadmin.com/perl2python.html">everythingsysadmin.com</a>)</li>
<li>Sign up to help Perl in Google Summer of Code now (<a href="http://news.perlfoundation.org/2011/04/sign-up-to-perl-gsoc-now.html">news.perlfoundation.org</a>)</li>
</ul>

        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=7pPOb-rWtXI:kyGNtAo3iLE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=7pPOb-rWtXI:kyGNtAo3iLE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=7pPOb-rWtXI:kyGNtAo3iLE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=7pPOb-rWtXI:kyGNtAo3iLE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=7pPOb-rWtXI:kyGNtAo3iLE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=7pPOb-rWtXI:kyGNtAo3iLE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/PerlBuzz/~4/7pPOb-rWtXI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2011/04/06/perlbuzz-news-roundup-for-2011-04-06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Best of Perl 2010</title>
		<link>http://www.modernperlbooks.com/mt/2010/12/the-best-of-perl-2010.html</link>
		<comments>http://www.modernperlbooks.com/mt/2010/12/the-best-of-perl-2010.html#comments</comments>
		<pubDate>Wed, 29 Dec 2010 21:07:18 +0000</pubDate>
		<dc:creator>chromatic</dc:creator>
				<category><![CDATA[modernperl]]></category>
		<category><![CDATA[moose]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[perl5]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[At the end of the year, writers and editors want to take time off, so they throw together silly top n lists to fill pages quickly. I planned to write The Year 2010 in Perl, but garu's 2010 Filled with...]]></description>
			<content:encoded><![CDATA[
        <p>At the end of the year, writers and editors want to take time off, so they throw together silly top <em>n</em> lists to fill pages quickly.  I planned to write The Year 2010 in Perl, but garu's <a href="http://onionstand.blogspot.com/2010/12/2010-filled-with-perls.html">2010 Filled with Perls</a> did a great job for Perl in general, and Moritz's <a href="http://perlgeek.de/blog-en/perl-6/perl-6-in-2010.html">Perl 6 in 2010</a> covered Perl 6 very well.</p>

<p>Instead, here are the three most important stories in Perl from 2010, from
my perspective:</p>

<ul>

<li><a href="http://news.perlfoundation.org/2010/04/perl-512-released.html">Perl 5.12 released</a> on time, with little fuss or mess.  The change to monthly development releases and yearly stable releases settled down to a well-understood project heartbeat.  Perl 5.14 is a few months away, which should allow the graceful ending of support for all Perl 5 versions older than 5.10.1.  Welcome to the age of modern Perl, everyone.</li>

<li><a href="http://moose.perl.org/">Moose</a> reached version 1.0.  After several years of rapid development, all of the pieces were in place to replace Perl 5's default object system with something more powerful, more concise, more correct, and easier to use and to explain.  Moose isn't quite the de facto object system in Perl 5 <em>yet</em>, but with ancillary projects adopting Moose-compatibility while providing additional features (quicker startup, less memory usage), it's clearly the right way to write modern OO Perl 5.</li>

<li>The first <a href="http://rakudo.org/">Rakudo Perl 6</a> Star release came out.  While various Perl 6 implementations had been available since 2003, Rakudo Star was the first distribution release intended for end users to play with.  Development continues on the Perl 6 specification and Rakudo, but the monthly releases of Rakudo demonstrate that Perl 6 is useful and usable today and improving regularly.</li>

</ul>

<p>There are plenty more great projects to mention&mdash;cpanminus, perlbrew, plack, Catamoose, CPAN testers upgrades, and a couple of good books&mdash;but these three are the most important in terms of the long term health and vitality of Perl.  With them, the Perl community has a firm foundation for a great 2011.</p>

        
    ]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/12/29/the-best-of-perl-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perlbuzz news roundup for 2010-10-25</title>
		<link>http://feedproxy.google.com/~r/PerlBuzz/~3/sAvwIJJOoqE/perlbuzz-news-roundup-for-2010-10-25.html</link>
		<comments>http://feedproxy.google.com/~r/PerlBuzz/~3/sAvwIJJOoqE/perlbuzz-news-roundup-for-2010-10-25.html#comments</comments>
		<pubDate>Mon, 25 Oct 2010 14:39:33 +0000</pubDate>
		<dc:creator>Andy Lester</dc:creator>
				<category><![CDATA[cpan]]></category>
		<category><![CDATA[Perl 5]]></category>
		<category><![CDATA[Perl 6]]></category>
		<category><![CDATA[Perl Foundation]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Use when() as a statement modifier (effectiveperlprogramming.com) What's coming in Perl 5.14? (effectiveperlprogramming.com) given/when is the Perl switch...]]></description>
			<content:encoded><![CDATA[
        <p>
These links are collected from the
<a href="http://twitter.com/perlbuzz">Perlbuzz Twitter feed</a>.
If you have suggestions for news bits, please mail me at
<a href="mailto:andy@perlbuzz.com">andy@perlbuzz.com</a>.
</p>

<ul>

<li>Use when() as a statement modifier (<a href="http://www.effectiveperlprogramming.com/blog/543">effectiveperlprogramming.com</a>)</li>
<li>What's coming in Perl 5.14? (<a href="http://www.effectiveperlprogramming.com/blog/531">effectiveperlprogramming.com</a>)</li>
<li>given/when is the Perl switch statement (<a href="http://transfixedbutnotdead.com/2010/08/30/givenwhen-the-perl-switch-statement/">transfixedbutnotdead.com</a>)</li>
<li>Holy cow is the new <a href="http://twitter.com/github">@github</a> pull request feature slick (<a href="http://github.com/petdance/vim-perl/pull/33">github.com</a>)</li>
<li>What's going right in Perl (<a href="http://www.modernperlbooks.com/mt/2010/09/whats-going-right-in-perl.html">modernperlbooks.com</a>)</li>
<li>Take a look at the speed improvements in Rakudo Star (<a href="http://gil.di.uminho.pt/users/smash/rakudo-bench.html">gil.di.uminho.pt</a>)</li>
<li>swaks, an SMTP transaction tester in Perl (<a href="http://blogs.perl.org/users/sawyer_x/2010/09/awesome-perl-projects-pt-1.html">blogs.perl.org</a>)</li>
<li>Ten years of Birmingham Perl Mongers (<a href="http://blogs.perl.org/users/barbie/2010/09/birminghampm-celebrates-their-10th-birthday.html">blogs.perl.org</a>)</li>
<li>use.perl.org shutting down indefinitely (<a href="http://use.perl.org/articles/10/09/08/2053239.shtml">use.perl.org</a>)</li>
<li>It's the Perl event of the summer! The first Perl mongers meeting to have its own trailer (<a href="http://blogs.perl.org/users/jt_smith/2010/09/perl-event-of-the-summer.html">blogs.perl.org</a>)</li>
<li>Extracting bullet lists from PowerPoint with Perl and Win32::OLE (<a href="http://blog.nu42.com/2010/09/extract-bullet-lists-from-powerpoint.html">blog.nu42.com</a>)</li>
<li>Perl 5.12.2 released (<a href="http://search.cpan.org/~jesse/perl-5.12.2/pod/perl5122delta.pod">search.cpan.org</a>)</li>
<li>I &heart; the Perl Community (<a href="http://blog.fox.geek.nz/2010/09/i-perl-community.html">blog.fox.geek.nz</a>)</li>
<li>HTML::Tidy 1.54 is released, which should make building easier. (<a href="http://perlbuzz.com/2010/09/htmltidy-154-released.html">perlbuzz.com</a>)</li>
<li>Perl is my community. (<a href="http://blogs.perl.org/users/leon_timmermans/2010/09/perl-is-my-community.html">blogs.perl.org</a>)</li>
<li>Less than three weeks until Pittsburgh Perl Workshop 2010 (<a href="http://pghpw.org/ppw2010/">pghpw.org</a>)</li>
<li>Try Rakudo Perl 6 in your browser. (<a href="http://try.rakudo.org/">try.rakudo.org</a>)</li>
<li>Company behind only real Perl blogging platform seems to be veering away from blogging. (<a href="http://mashable.com/2010/09/21/say-media/">mashable.com</a>)</li>
<li>Why not just help the guy out, and allow him to progress faster to the more interesting parts of Perl? (<a href="http://bit.ly/cbKKnX">bit.ly</a>)</li>
<li>A comparison of Perl serialization modules (<a href="http://blogs.perl.org/users/steven_haryanto/2010/09/comparison-of-perl-serialization-modules.html">blogs.perl.org</a>)</li>
<li>Job boards no more "help" you find a job than a billboard "helps" you find a new pair of shoes. (<a href="http://bit.ly/aRecvK">bit.ly</a>)</li>
<li>A few things every job-seeking programmer should know about project manager (<a href="http://www.stellman-greene.com/2010/08/30/a-few-things-every-programmer-should-know-about-project-management-part-1/">stellman-greene.com</a>)</li>
<li>Book review: "Effective Perl Programming" (<a href="http://books.dzone.com/reviews/book-review-effective-perl">books.dzone.com</a>)</li>
<li>I love that the MySQL conference wants PostgreSQL content. Would love to see YAPC do the same, maybe some Ruby talks. (<a href="http://www.chesnok.com/daily/2010/10/06/postgresql-at-mysql-users-conference-2011/">chesnok.com</a>)</li>
<li>ARP poisoning with Perl (<a href="http://sharpsproductions.com/wordpress/?p=21">sharpsproductions.com</a>)</li>
<li>Set default values with the defined-or operator. (<a href="http://www.effectiveperlprogramming.com/blog/704">effectiveperlprogramming.com</a>)</li>
<li>Google Open Source and a recap of Summer of Code (<a href="http://google-opensource.blogspot.com/2010/10/perl-and-parrot-spread-open-source-love.html">google-opensource.blogspot.com</a>)</li>
<li>Colonizing the Lacuna Expanse with Perl (<a href="http://www.perl.com/pub/2010/10/colonizing-the-lacuna-expanse-with-perl.html">perl.com</a>)</li>
<li>If you ever need a regex, look first at Regexp::Common. It's like a CPAN for regexes! (<a href="http://search.cpan.org/dist/Regexp-Common/">search.cpan.org</a>)</li>
</ul>

        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=sAvwIJJOoqE:n4p70yxMeDE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=sAvwIJJOoqE:n4p70yxMeDE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=sAvwIJJOoqE:n4p70yxMeDE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=sAvwIJJOoqE:n4p70yxMeDE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=sAvwIJJOoqE:n4p70yxMeDE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=sAvwIJJOoqE:n4p70yxMeDE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/PerlBuzz/~4/sAvwIJJOoqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/10/25/perlbuzz-news-roundup-for-2010-10-25/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m glad to hear &quot;Rakudo is slow!&quot;</title>
		<link>http://feedproxy.google.com/~r/PerlBuzz/~3/Tdv0xEIzM4U/im-glad-to-hear-rakudo-is-slow.html</link>
		<comments>http://feedproxy.google.com/~r/PerlBuzz/~3/Tdv0xEIzM4U/im-glad-to-hear-rakudo-is-slow.html#comments</comments>
		<pubDate>Tue, 10 Aug 2010 05:24:05 +0000</pubDate>
		<dc:creator>Andy Lester</dc:creator>
				<category><![CDATA[Perl 6]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I'm pretty tired of the sniping and punditry about the recent release of Rakudo Star. However, David Golden has put together a great article about what the Rakudo Star release means both to the team and to the public. Key...]]></description>
			<content:encoded><![CDATA[
        <p>I'm pretty tired of the <a href="http://developers.slashdot.org/story/10/07/29/2046242/Perl-6-Early-With-Rakudo-Star">sniping and punditry</a> about the <a href="http://perlbuzz.com/2010/07/rakudo-star-for-early-adopters-of-perl-6-is-now-available.html">recent release of Rakudo Star</a>.  However, David Golden has put together a <a href="http://www.dagolden.com/index.php/947/thoughts-on-perl-6-hype-and-backlash/">great article about what the Rakudo Star release means</a> both to the team and to the public.</p>

<p>Key points from his article:</p>

<ul>
<li>Rakudo Star is the first prototype of an end-user distribution tarball</li>
<li>There is no way reactions to Rakudo Star can possibly live up to the hopes and dreams of those involved the project (and I say that it can't live up to the expectations of those outside the project, either)</li>
<li>Rakudo Star still is a significant step forward for Perl 6</li>
<li>If anyone was waiting for Perl 6 to rescue Perl, then they'll need to keep waiting.</li>
</ul>

<p>And then, down in the comments, Moritz Lenz points out something I'd overlooked:</p>

<blockquote>
  <p>Yes, people now say "Rakudo is slow as $funny_metaphor", but that's much better than "Rakudo is vapourware". Once we speed up Rakudo, we can simply post benchmarks and say "look, it's now $n times faster than before". <strong>"Rakudo is slow" implies "Rakudo is", and that's a big step forward.</strong></p>
</blockquote>

<p>Thanks for the reminder, Moritz.  Next it will be "Rakudo is faster, but not fast enough."  And then maybe "Rakudo doesn't have enough documentation," and then "Rakudo doesn't have all the modules it should."  All of it is progress.</p>

        

    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Tdv0xEIzM4U:UfR7q-AIRW4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Tdv0xEIzM4U:UfR7q-AIRW4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=Tdv0xEIzM4U:UfR7q-AIRW4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Tdv0xEIzM4U:UfR7q-AIRW4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=Tdv0xEIzM4U:UfR7q-AIRW4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=Tdv0xEIzM4U:UfR7q-AIRW4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/PerlBuzz/~4/Tdv0xEIzM4U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/08/10/im-glad-to-hear-rakudo-is-slow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perlbuzz news roundup for 2010-08-09</title>
		<link>http://feedproxy.google.com/~r/PerlBuzz/~3/ys0e2SM6Wj4/perlbuzz-news-roundup-for-2010-08-09.html</link>
		<comments>http://feedproxy.google.com/~r/PerlBuzz/~3/ys0e2SM6Wj4/perlbuzz-news-roundup-for-2010-08-09.html#comments</comments>
		<pubDate>Mon, 09 Aug 2010 19:23:55 +0000</pubDate>
		<dc:creator>Andy Lester</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[cpan]]></category>
		<category><![CDATA[Perl 5]]></category>
		<category><![CDATA[Perl 6]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[These links are collected from the Perlbuzz Twitter feed. If you have suggestions for news bits, please mail me at andy@perlbuzz.com. Running tests in MySQL with Perl via MyTAP (justatheory.com) chromatic rebuts the FUD of startup times for Rakudo...]]></description>
			<content:encoded><![CDATA[
        <p>
These links are collected from the
<a href="http://twitter.com/perlbuzz">Perlbuzz Twitter feed</a>.
If you have suggestions for news bits, please mail me at
<a href="mailto:andy@perlbuzz.com">andy@perlbuzz.com</a>.
</p>

<ul>

<li>Running tests in MySQL with Perl via MyTAP (<a href="http://justatheory.com/computers/databases/mysql/introducing_mysql.html">justatheory.com</a>)</li>
<li>chromatic rebuts the FUD of startup times for Rakudo Star (<a href="http://www.modernperlbooks.com/mt/2010/07/an-accurate-comparison-of-perl-5-and-rakudo-star.html">modernperlbooks.com</a>)</li>
<li>Top 10 tricks of Perl one-liners (<a href="http://blog.ksplice.com/2010/05/top-10-perl-one-liner-tricks/">blog.ksplice.com</a>)</li>
<li>A checklist for writing maintainable Perl (<a href="http://www.modernperlbooks.com/mt/2010/07/a-checklist-for-writing-maintainable-perl.html">modernperlbooks.com</a>)</li>
<li>A gentle introduction to Perl 6 with Rakudo Star (<a href="http://blogs.perl.org/users/offerkaye/2010/07/a-gentle-introduction-to-perl-6-using-rakudo-star.html">blogs.perl.org</a>)</li>
<li>Opening Perl modules with vim (<a href="http://blogs.perl.org/users/ovid/2010/08/open-perl-modules-with-vim.html">blogs.perl.org</a>)</li>
<li>Your Perl test suite is broken (<a href="http://blogs.perl.org/users/ovid/2010/08/your-test-suite-is-broken.html">blogs.perl.org</a>)</li>
<li>Diving into Perl 6 (<a href="http://perlbuzz.com/2010/08/diving-into-perl-6.html">perlbuzz.com</a>)</li>
<li>What's up with Proud To Use Perl (http://proudtouseperl.com/) Are people no longer proud?</li>
<li>Why are Perl web apps less popular than those in PHP? (<a href="http://blogs.perl.org/users/flamey/2010/07/why-so-puzzled-perl-vs-php-and-rest.html">blogs.perl.org</a>)</li>
<li>Perl 5 and Perl 6 are different languages, and that's a good thing (<a href="http://use.perl.org/~masak/journal/40481">use.perl.org</a>)</li>
<li>Perl 6 is easier to read than write (<a href="http://blogs.perl.org/users/mirod/2010/08/perl-6-impression.html">blogs.perl.org</a>)</li>
<li>The official Perl 6 cheat sheet (<a href="http://svn.pugscode.org/pugs/docs/Perl6/Cheatsheet/cheatsheet.txt">svn.pugscode.org</a>)</li>
<li>Currying with Perl 6 (<a href="http://perlgeek.de/blog-en/perl-5-to-6/28-currying.html">perlgeek.de</a>)</li>
<li>Try Rakudo and learn Perl 6 in your browser: (<a href="http://try.rakudo.org/shell">try.rakudo.org</a>)</li>
<li>Perl 6 has data dumping baked right in (<a href="http://perlbuzz.com/2010/08/perl-6-has-data-dumping-built-in.html">perlbuzz.com</a>)</li>
<li>What to respond to "Perl 6 isn't Perl any more" (<a href="http://perlbuzz.com/2010/08/what-to-say-to-perl-6-isnt-perl-any-more.html">perlbuzz.com</a>)</li>
<li>How to write about Perl 6 (<a href="http://blogs.perl.org/users/brian_d_foy/2010/08/how-to-write-about-perl-6.html">blogs.perl.org</a>)</li>
<li>When should I use database abstraction? (<a href="http://blogs.perl.org/users/carey_tilden/2010/08/removing-database-abstraction.html">blogs.perl.org</a>)</li>
<li>Videos from YAPC::NA (<a href="http://www.presentingperl.org/yn2010/">presentingperl.org</a>)</li>
<li>What I learned at YAPC::EU 2010 (<a href="http://blogs.perl.org/users/anielsen/2010/08/what-i-learned-at-yapceu-2010.html">blogs.perl.org</a>)</li>
<li>Where to now in Rakudo Perl 6 development? How to speed up Rakudo? (<a href="http://perlgeek.de/blog-en/perl-6/notes-from-yapc-hackathon.html">perlgeek.de</a>)</li>
<li>Colorized code snippets on an ANSI terminal (<a href="http://blogs.perl.org/users/peter_edwards/2010/08/colorized-perl-code-snippets-on-ansi-terminals.html">blogs.perl.org</a>)</li>
</ul>

        

    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=ys0e2SM6Wj4:q0HiO56kguc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=ys0e2SM6Wj4:q0HiO56kguc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=ys0e2SM6Wj4:q0HiO56kguc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=ys0e2SM6Wj4:q0HiO56kguc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=ys0e2SM6Wj4:q0HiO56kguc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=ys0e2SM6Wj4:q0HiO56kguc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/PerlBuzz/~4/ys0e2SM6Wj4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/08/09/perlbuzz-news-roundup-for-2010-08-09/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rakudo Star, for early adopters of Perl 6, now available</title>
		<link>http://feedproxy.google.com/~r/PerlBuzz/~3/-CAfwrQwYTs/rakudo-star-for-early-adopters-of-perl-6-is-now-available.html</link>
		<comments>http://feedproxy.google.com/~r/PerlBuzz/~3/-CAfwrQwYTs/rakudo-star-for-early-adopters-of-perl-6-is-now-available.html#comments</comments>
		<pubDate>Sat, 31 Jul 2010 17:32:35 +0000</pubDate>
		<dc:creator>Andy Lester</dc:creator>
				<category><![CDATA[Perl 6]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[By Patrick Michaud, release manager for Rakudo Perl 6 On behalf of the Rakudo and Perl 6 development teams, I'm happy to announce the July 2010 release of &#34;Rakudo Star&#34;, a useful and usable distribution of Perl 6. The tarball...]]></description>
			<content:encoded><![CDATA[
        <p><i>By Patrick Michaud, release manager for Rakudo Perl 6</i></p>

       <p>On behalf of the Rakudo and Perl 6 development teams, I'm happy to announce the July 2010 release of "Rakudo Star", a <strong>useful and usable distribution of Perl 6</strong>.  The tarball for the July 2010 release is available from <a href="http://github.com/rakudo/star/downloads">http://github.com/rakudo/star/downloads</a>.</p>

<p>Rakudo Star is aimed at "early adopters" of Perl 6.  We know that it still has some bugs, it is far slower than it ought to be, and there are some advanced pieces of the Perl 6 language specification that aren't implemented yet.  But Rakudo Perl 6 in its current form is also proving to be viable (and fun) for developing applications and exploring a great new language.  These "Star" releases are intended to make Perl 6 more widely available to programmers, grow the Perl 6 codebase, and gain additional end-user feedback about the Perl 6 language and Rakudo's implementation of it.</p>

<p>In the Perl 6 world, we make a distinction between the language ("Perl 6") and specific implementations of the language such as "Rakudo Perl".  "Rakudo Star" is a distribution that includes release #31 of the <a href="http://github.com/rakudo/rakudo">Rakudo Perl 6 "compiler</a>, version 2.6.0 of the <a href="http://parrot.org/">Parrot Virtual Machine</a>, and various modules, documentation, and other resources collected from the Perl 6 community.  We plan to make Rakudo Star releases on a monthly schedule, with occasional special releases in response to important bugfixes or changes.</p>

<p>Some of the many cool Perl 6 features that are available in this release of Rakudo Star:</p>

<ul>
<li>Perl 6 grammars and regexes</li>
<li>formal parameter lists and signatures</li>

<li>metaoperators</li>
<li>gradual typing</li>
<li>a powerful object model, including roles and classes</li>
<li>lazy list evaluation</li>
<li>multiple dispatch</li>
<li>smart matching</li>
<li>junctions and autothreading</li>
<li>operator overloading (limited forms for now)</li>
<li>introspection</li>

<li>currying</li>
<li>a rich library of builtin operators, functions, and types</li>
<li>an interactive read-evaluation-print loop</li>
<li>Unicode at the codepoint level</li>
<li>resumable exceptions</li>
</ul>

<p>There are some key features of Perl 6 that Rakudo Star does not yet handle appropriately, although they will appear in upcoming releases.  Thus, we do not consider Rakudo Star to be a "Perl 6.0.0" or "1.0" release.</p>

<p>In many places we've tried to make Rakudo smart enough to inform the programmer that a given feature isn't implemented, but there are many that we've missed.  Bug reports about missing and broken features are welcomed.</p>

<p>See <a href="http://perl6.org/">http://perl6.org/</a> for links to much more information about  Perl 6, including documentation, example code, tutorials, reference materials, specification documents, and other supporting resources. Rakudo Star also contains a draft of a Perl 6 book -- see  <docs/UsingPerl6-draft.pdf> in the release tarball.</p>

<p>The development team thanks all of the contributors and sponsors for making Rakudo Star possible.  If you would like to contribute, see <a href="http://rakudo.org/how-to-help">http://rakudo.org/how-to-help</a>, ask on the perl6-compiler@perl.org mailing list, or join us on IRC #perl6 on freenode.</p>

<p>Rakudo Star releases are created on a monthly cycle or as needed in response to important bug fixes or improvements.  The next planned release of Rakudo Star will be on August 24, 2010.</p>


        
    <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=-CAfwrQwYTs:YJUbNh55BWk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=-CAfwrQwYTs:YJUbNh55BWk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=-CAfwrQwYTs:YJUbNh55BWk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=-CAfwrQwYTs:YJUbNh55BWk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?i=-CAfwrQwYTs:YJUbNh55BWk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerlBuzz?a=-CAfwrQwYTs:YJUbNh55BWk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/PerlBuzz?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/PerlBuzz/~4/-CAfwrQwYTs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/07/31/rakudo-star-for-early-adopters-of-perl-6-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Accurate Comparison of Perl 5 and Rakudo Star</title>
		<link>http://www.modernperlbooks.com/mt/2010/07/an-accurate-comparison-of-perl-5-and-rakudo-star.html</link>
		<comments>http://www.modernperlbooks.com/mt/2010/07/an-accurate-comparison-of-perl-5-and-rakudo-star.html#comments</comments>
		<pubDate>Fri, 30 Jul 2010 22:26:41 +0000</pubDate>
		<dc:creator>chromatic</dc:creator>
				<category><![CDATA[benchmarking]]></category>
		<category><![CDATA[modernperl]]></category>
		<category><![CDATA[perl5]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[Rakudo]]></category>
		<category><![CDATA[softwaredevelopment]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Rakudo Star is a useful and usable subset of Perl 6 you can use right now. It does not implement the complete Perl 6.0 specification, and it's by no means the final release: it contains bugs and misfeatures, and it's...]]></description>
			<content:encoded><![CDATA[
        <p>Rakudo Star is a useful and usable subset of Perl 6 you can use right now.  It does not implement the complete Perl 6.0 specification, and it's by no means the final release: it contains bugs and misfeatures, and it's had very little optimization work for speed or memory.</p>

<p>Subsequent releases will bring improvements on completeness, correctness, and competitiveness.</p>

<p>Even so, how unfortunate to see <a href="http://david.skoll.ca/blog/2010-07-29-perl-sss.html">a thoroughly misleading comparison of Rakudo Star to Perl 5</a>.</p>

<p>Rakudo's <code>perl6</code> binary is a couple of hundreds of lines of C code (if that much) linking to <code>libparrot</code> and mostly unoptimized Parrot bytecode.  By unoptimized, I mean "There is <em>no</em> optimization of Parrot bytecode in Rakudo Star." &mdash; not constant folding, not size optimization, not inlining.  None.</p>

<p>The <code>perl5</code> binary is of course all compiled C code generated
(hopefully) by an optimized compiler.  Does that make for a valid comparison?
I think not.</p>

<p>Of course, the worst flaw by far is in comparing the feature set of the Perl 5 binary to that of Rakudo Star.  Perl 5 contains no advanced object system, no runtime manipulation of the parse tree, no grammars, no continuations or coroutines, no junctions, and no interoperability with other languages.  Oh, and it does not contain hyperoperators, function and method signatures, multidispatch, laziness, or built-in language redefinition, no strictness by default, no autothreading, no REPL, and no automatic binding to shared libraries.</p>

<p>It's easier to add the loading of the appropriate CPAN modules to the Perl 5
process than to remove them from Rakudo Star, so for an accurate comparison,
you must add:</p>

<table border="1" cellpadding="2">
<tr><th>Feature</th><th>Module</th><th>Virtual/Resident Memory in KB (cumulative)</th><th>Startup Cost (cumulative)</th></tr>

<tr><td>Parser manipulation</td>
<td><a href="http://search.cpan.org/perldoc?Devel::Declare">Devel::Declare</a></td>
<td>7356 / 2508</td>
<td>0.024s</td></tr>

<tr><td>Advanced object system</td>
<td><a href="http://search.cpan.org/perldoc?Moose">Moose</a> and
<a href="http://search.cpan.org/perldoc?MooseX::Declare">MooseX::Declare</a></td>
<td>18184 / 13064</td>
<td>0.705s</td></tr>

<tr><td>autoboxing</td>
<td><a href="http://search.cpan.org/perldoc?autobox">autobox</a>,
<a href="http://search.cpan.org/perldoc?autobox::Core">autobox::Core</a>, and
<a href="http://search.cpan.org/perldoc?Moose::Autobox">Moose::Autobox</a></td>
<td>19884 / 14732</td>
<td>0.777s</td></tr>

<tr><td>Coroutines</td>
<td><a href="http://search.cpan.org/perldoc?Coro">Coro</a></td>
<td>20276 / 15020</td>
<td>0.783s</td></tr>

<tr><td>Parse tree manipulation</td>
<td><a href="http://search.cpan.org/perldoc?B::Generate">B::Generate</a></td>
<td>20328 / 15080</td>
<td>0.799s</td></tr>

<tr><td>REPL</td>
<td><a href="http://search.cpan.org/perldoc?Devel::REPL">Devel::REPL</a></td>
<td>21132 / 15860</td>
<td>0.827s</td></tr>

<tr><td>Multidispatch</td>
<td><a href="http://search.cpan.org/perldoc?MooseX::MultiMethods">MooseX::MultiMethods</a></td>
<td>22076 / 16832</td>
<td>0.987s</td></tr>

<tr><td>Function signatures</td>
<td><a href="http://search.cpan.org/perldoc?signatures">signatures</a></td>
<td>22144 / 16920</td>
<td>0.992s</td></tr>

<tr><td>Shared library bindings</td>
<td><a href="http://search.cpan.org/perldoc?FFI">FFI</a></td>
<td>22188 / 16976</td>
<td>0.995s</td></tr>

<tr><td>Perl 5.12 features</td>
<td><a href="http://search.cpan.org/perldoc?feature">feature</a></td>
<td>22216 / 16976</td>
<td>0.997s</td></tr>

<tr><td>Grammars</td>
<td><a href="http://search.cpan.org/perldoc?Regexp::Grammars">Regexp::Grammars</a></td>
<td>22780 / 17576</td>
<td>1.017s</td></tr>

<tr><td>Parrot language interoperability</td>
<td><a href="http://trac.parrot.org/parrot/browser/trunk/ext/Parrot-Embed">Parrot::Embed</a></td>
<td>40812 / 18476</td>
<td>1.020s</td></tr>

</table>

<p>I ordered the list in terms of dependencies to show cumulative costs.  I
also left out a few CPAN distributions you need to add to Perl 5 to add
features enabled by default in Perl 6: for example, I couldn't get <a
href="http://search.cpan.org/perldoc?Data::Alias">Data::Alias</a> to build.</p>

<p>My <code>perl5</code> binary is Perl 5.12.1, built fresh today as a 32-bit binary without threading.  (A 64-bit binary uses more memory and a binary with threading is some 10-15% slower, reportedly.)  It's 1,239,686 bytes in size.</p>

<p>My <code>perl6</code> binary (built from today's checkout, not Rakudo Star)
is 14,280,276 bytes in size.  At the REPL, it uses 99,944 KB of virtual memory
and 81,132 KB of resident memory.  To run the program <code>-e 1</code>, it
requires 1.035s.  By my calculations, Rakudo Star starts up 1.5% more slowly than Perl 5 with all of the other modules loaded and uses 2.45 times as much virtual memory and 4.39 as much resident memory.</p>

<p>By way of comparison, Perl 5 running <code>-Mperl5i::2 -E 1</code> runs in
0.149s.  It requires 12,080 KB of virtual memory and 6,952 KB of resident
memory.  Rakudo Star starts 6.72 times slower than Perl 5 with
perl5i.  Rakudo Star uses 8.27 times more virtual memory and 11.67 times more
resident memory.</p>

<p>I believe it's very possible to improve Rakudo's startup time by an order of
magnitude, such that it starts <em>faster</em> than Perl 5 with perl5i, much
faster than Perl 5 with all of the feature parity modules loaded, and modestly
slower than Perl 5 without feature parity.  I also believe that it's possible
to improve Rakudo's memory requirements&mdash;perhaps not an order of
magnitude, but at least by cutting them in half and then perhaps in half
again.</p>

<p>Better yet, new features planned for Parrot offer the opportunity to deploy
applications with only those features actually <em>used</em>, so if you avoid
the object system or grammar manipulation altogether, you won't pay the memory
or startup costs for them.  That's a plan for sometime in the future,
however.</p>

<p>Rakudo Star has a long way to go.  We'll improve its performance and cut its
memory requirements.  There are many places we know need improvement, and we're
working on them.  That's why we keep releasing new versions.</p>

<p>... but don't fool yourself: comparing bare Perl 5 to Rakudo Star without understanding the context of the comparison does no one any good.</p>

        
    ]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/07/31/an-accurate-comparison-of-perl-5-and-rakudo-star/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How About a Shetland Ponie?</title>
		<link>http://www.modernperlbooks.com/mt/2010/07/how-about-a-shetland-ponie.html</link>
		<comments>http://www.modernperlbooks.com/mt/2010/07/how-about-a-shetland-ponie.html#comments</comments>
		<pubDate>Thu, 29 Jul 2010 20:47:15 +0000</pubDate>
		<dc:creator>chromatic</dc:creator>
				<category><![CDATA[Parrot]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[perl5]]></category>
		<category><![CDATA[perl6]]></category>
		<category><![CDATA[perlprogramming]]></category>
		<category><![CDATA[ponie]]></category>
		<category><![CDATA[Rakudo]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Rakudo Star is out, and so begins the next great wave of interest and use of Perl 6. The next several releases will improve performance, fix bugs, add features, port or create more libraries, and&#38;mdash;in all likelihood&#38;mdash;improve and otherwise clarify...]]></description>
			<content:encoded><![CDATA[
        <p><a href="http://rakudo.org/node/75">Rakudo Star is out</a>, and so begins
the next great wave of interest and use of Perl 6.  The next several releases
will improve performance, fix bugs, add features, port or create more
libraries, and&mdash;in all likelihood&mdash;improve and otherwise clarify the
Perl 6 specification.</p>

<p>The Perl ecosystem has room for other projects, however.</p>

<p>For example, one of the clearest benefits Perl 6 has over Perl 5 is its portability to other virtual machines and runtimes.  By design Perl 6 <em>encourages</em> multiple implementations.  Perl 5 is its own specification; in many places, what Perl 5 is is solely what Perl 5 happens to do.  Sometimes that behavior gets enshrined in the specification tests, but other times it's folklore and institutional community knowledge.</p>

<p>Just as <a href="http://trac.parrot.org/parrot/wiki/Lorito">Parrot's Lorito project</a> intends to make Parrot at least an order of magnitude faster, so too a reorganization of Perl 5 internals could make amazing things more possible.</p>

<p>What if there were a project to <a
href="http://www.nntp.perl.org/group/perl.perl5.porters/2010/07/msg162367.html">implement
a minimal set of Perl 5 on the Parrot virtual machine</a> as a prototype and
exploration of how much of Perl 5 you can support, the effort it takes to do
so, and what kind of utility you can expect?  Parrot's compiler tools let the
Rakudo developers write most of Perl 6 in Perl 6; surely it's possible to write
Perl 5 in a similar fashion.  (Credit to other projects such as <a
href="http://rubini.us/">Rubinius</a> and <a
href="http://codespeak.net/pypy/">PyPy</a> for demonstrating that such things
are possible.)</p>

<p>I know other projects have attempted this in the past.  Perhaps the best place to steal information is Bradley Kuhn's masters thesis, <a href="http://www.ebb.org/bkuhn/articles/thesis/">Considerations on Porting Perl
to the Java Virtual Machine</a>.</p>

<p>As Jesse wrote in his comments, bug-for-bug compatibility isn't necessary.
Nor is full compliance with the existing Perl 5 test suite.  A simple proof of
concept to produce the 80% of Perl 5 most people use in most programs should
suffice.  (Parrot gives you a lot of that anyway.)</p>

<p>As a bonus, you get cheap and easy interoperability with Perl 5, access to
Parrot features such as multidispatch, grammars, continuations, and bytecode
serialization, and you could even replace some of the uses of Perl 5 within
Parrot's and perhaps even Rakudo's configuration and build processes.</p>

<p>It doesn't even have to be a pony of full size.</p>
        
    ]]></content:encoded>
			<wfw:commentRss>http://perlblogs.com/2010/07/29/how-about-a-shetland-ponie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

