Welcome Rakudo Star

Perl 6 has evolved over a long time. As originally conceived, it was to be a modest cleanup of Perl 5 semantics and implementation. By shrugging off a few of the less desirable features and misfeatures, Perl the language could evolve in new ways.

As it turns out, a language is more than a bundle of features. It’s a set of design principles which govern interlocking syntax and semantics and idioms. The greater the internal consistency of that philosophy, the greater the coherence of the language and its community and its ecosystem.

Given the chance to reinvent Perl one more time (the first reinvention was Perl 4 to Perl 5), could the community produce a language which could evolve to meet the needs of programmers for at least the next twenty years? Could we do so without all of the pain and tension between the need to retain backwards compatibility and the desire to improve based on real world experiences?

That task was larger than any of us could have predicted, but the results (Perl’s testing culture! Roles! Moose! Grammars!) demonstrate their utility even now, even in the Perl 5 world. Both languages feed off of the other. Both languages help us to research and define and refine what Perl is and what Perl can be.

Rakudo Star is a milestone in that process. We’re proud of what we’ve accomplished, and we’ve reached a point where we want to share it with the wider world.

People will complain. They don’t like twigils. (They don’t like sigils!) All they ever wanted was a better object system. They hate operators or Unicode operators. They don’t want to learn how multiple dispatch works. They miss the CPAN. They prefer homoiconicity of syntax. They feel betrayed that after ten years, Rakudo Star is the first of several distribution releases and not the final, it’s completely finished that’s it, install it to run your space station, release…

… as if designing a language intended to evolve and change and adapt over the next several decades were a simple, three-month task to produce a perfect, static, never-needs-updating specification. (Implementation is merely a matter of hiring enough typists, you see.)

That’s neither what Perl 6 is nor how it works. What matters now is that you—yes, you—can download and install and play with Perl 6 right now. It’s not complete, whatever that means. It’s not finished, because twenty years from now we’ll still release new versions to meet needs that we can’t possibly predict right now.

What we can do is figure out what you need. What works for you? What doesn’t? Are there bugs to fix? Are there particular optimizations you’d like to see? (Our next big task is optimization.) Now begins the work of polishing. What can we do to make Perl 6 even more amazing for you for the next release of Rakudo and the next and the next and the next?

Set aside your assumptions. Try Perl 6 yourself with Rakudo Star. Perl in every form is the work of a community willing to make amazing things happen. That task continues—help us make Perl more powerful, more flexible, more useful, and more fun.



Something wrong with this article? Help us out by opening an issue or pull request on GitHub