http://www.perlmonks.org?node_id=678846


in reply to Re^3: Why Change?
in thread Why Change?

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.

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?".

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.

A Perl6 example: the weird new for 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...

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".)