Perl6 for fun and profit

Tags:

So, I've been writing Perl for a living now for over 15 years. Which is kinda funny in some ways. There's been asides where I've been doing Javascript, PHP, Java and even some C at times. But Perl is still the language my brain likes to revert to. There's a few others that have tempted me over the years, mostly in the functional areas, but my mind tends to just gel with Perl.

Shame really that my work is really, really into Java. Partly because it's quite easy to get java developers. (I have some thoughts about that but I don't like to be rude so I'll hold of on them). But there's also a love of the ecosystem and reporting tools that you can get with the Java Virtual Machine. Which is cool, I understand that, we're not a tech ocmpany as such, we're basically printers. We print your stuff, if you have a photo we'll print it on something and we make some really nice stuff. I'm always impressed with it. But the fact that we do make bespoke stuff means we also have bespoke software and it's been mostly written in Perl. And now the company would like to replace it.

But I have a plan up my sleeve, because whilst I've written Java I'd rather not. Being punched in the genitals sounds more fun than developing in Java full time. It's just so verbose and overly complex. Bleh. Anyway during the times I've been coding in Perl there have been work going on with Perl 6 which for a long time was something of a joke and had a serious impact on the development of Perl 5. Well Perl 6 is finally ready for production and is having new versions coming out every few months, and it runs on the JVM... sort of.

Right now the JVM version doesn't work with al the modules though and especially doesn't work with Panda the module installer. So I'm going to try and work out why and if I can help. Because if I can carry on writing Perl I'll be a happy bunny. More here soon.

Meanwhile here's a fun little bit of Perl 6 from the website how to define a Factorial Operator :

sub postfix: (Int $n) {
    fail "Not a Natural Number in Factorial" if $n < 0;
    [*] 2..$n
}