Elizabeth Mattijsen

351 points
Elizabeth Mattijsen
Echt, The Netherlands

Elizabeth Mattijsen has been programming for a living since 1978 in various (mostly now defunct) programming languages before she started programming in Perl 4. In 1994 she started the first commercial web site development company in the Netherlands, using Perl 5 as the main programming language. From 2003 onwards, she was involved in the rapid growth of an online Hotel Reservation service. In 2012 she got more directly involved in the development of Rakudo Perl 6. From 2015 she has also been mostly responsible for the Perl 6 Weekly, a weekly blog post about developments in the Perl 6 world.

Authored Comments

You are completely right. Caught by a Perl 6ism in Perl 5: that should of course read "if (exists $named{bar}) {". Thanks for spotting and reporting!

Rakudo Perl 6 will always be an interpreted dynamic language first. But the idea is that hot code will get optimized to machine level by a JIT. Jonathan Worthington has a nice talk about that: How does deoptimization help us go faster? (http://jnthn.net/papers/2017-spw-deopt.pdf).

To answer your question: short term, I wouldn't choose Perl 6 for the speed, but for its features. Longer term (coming 2-5 years), Rakudo Perl 6 will get much faster. But I don't think it will ever be able to spit out fast executables that start running at close to "C" speeds: the dynamic nature of Perl 6 will always be a problem for that. I guess someone could make a MoarVM bytecode -> assembly port of sufficiently static Perl 6 programs in module space. But I don't see that happening anytime soon. Of course, I'd like to be proven wrong :-)