<?xml version="1.0" encoding="windows-1252"?>
<node id="678846" title="Re^4: Why Change?" created="2008-04-07 18:34:59" updated="2008-04-07 14:34:59">
<type id="11">
note</type>
<author id="594562">
Porculus</author>
<data>
<field name="doctext">
&lt;blockquote&gt;&lt;i&gt;perl 6 broke years worth of my work, changed all the one sigil operators to bizarre hieroglyphics (~~ is string cat because it looks like .. strings?), and reeked of intellectual theorycraft instead of a pragmatic tool for programmers in the real world.&lt;/i&gt;&lt;/blockquote&gt;
&lt;p&gt;This is the same reaction I have pretty much every time I look at a sample of Perl6 code: a mixture of "WTF?", "Ugh!", and "that wasn't broke! Why did they change that?".&lt;/p&gt;
&lt;p&gt;But if I've learned one thing in my life, it's that it's nearly always worth persevering with new things.  Time and time again I recoil from some change; time and time again, a while later the reasons behind it suddenly make sense, and I find myself wondering how I ever lived without it.&lt;/p&gt;
&lt;p&gt;A Perl6 example: the weird new &lt;c&gt;for&lt;/c&gt; syntax.  God, I can scarcely express how much I hated that the first time I saw it.  Then I read the justification for it, and then I looked back over my code and saw how many places I'd had to use some tedious workaround to iterate over two arrays in parallel, and suddenly I found myself wondering if there was a Perl6::For module on CPAN...&lt;/p&gt;
&lt;p&gt;I'm still far from converted -- God, I can scarcely express how much I hate Perl6's changes to sigil usage! -- but that little revelation has reminded me that the Perl6 design has not been based on changing stuff for the sake of it.  I'm sure there's a good reason for the new sigil system, and when I have time to dip into Perl6 again I'm sure I'll find out what it is. (Though I hope it's something better than "to make the first ten minutes of Perl programming easier for dim-witted novices".)&lt;/p&gt;</field>
<field name="root_node">
678649</field>
<field name="parent_node">
678798</field>
</data>
</node>
