Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I love perl 5 and have been using perl since 1997. I haven't touched perl 6 yet simply because the whole mess is still too confusing. It's not obvious what I should download and the frequent release announcements just confuse the issue further. If I want perl6 why am I downloading rakudo star? What the heck is a moar vm and why do I care? Why is the download page telling me it supports "Christmas Perl 6 (6.c language version)?" What is 6.c? Are there multiple versions of perl 6 that I have to worry about? Why does every release announcement say something like this:

"Please note: This announcement is not for the Rakudo Star distribution[^2] --- it’s announcing a new release of the compiler only. For the latest Rakudo Star release, see <http://rakudo.org/downloads/star/>."

Perl 5 is much more straightforward. Their download link sends me to a page where I click my platform and then there's a link to "download latest stable version." Why can't I just download the latest stable version of perl6?

I know I can spend a couple of hours learning more about it but perl 5 more than meets my needs and I'm comfortable with it.



I already spent the hours, so here's a short summary: * Perl 6 is a specification in the form of a test suite. By metonymy, the language it specifies and any implementation that passes the test suite are also called Perl 6. * Perl 6.c is the first stable release of the spec. Later versions will advance through the alphabet: 6.d, 6.e, etc. (6.a and 6.b were release candidates.) * 'Christmas' is the human-friendly name of 6.c. 6.d will be named 'Diwali', and further versions are expected to carry on with names of holidays and celebrations. * Rakudo is the flagship implementation of Perl 6.c. It has monthly releases. For the next few years, I would not expect a feature to be released in a Perl 6 spec until it has been implemented and tested in Rakudo. * Rakudo Star is a distribution that bundles Rakudo and a library. It has monthly releases close on the heels of Rakudo. * MoarVM is one of the runtimes that Rakudo can use. It is custom-built for Rakudo, is developed in the Rakudo project, and is installed whenever you install Rakudo. Rakudo can also run on the Java Virtual Machine. A port to the V8 Javascript engine is underway. * Not Quite Perl 6, or NQP, is a language you probably don't need to know, but which you might hear about. It is approximately a subset of Perl 6 -- the features that are useful for writing compilers and not too tricky to implement. Where Rakudo is not written in Perl 6, it is written in NQP. This way, most bug fixes, optimizations, and new features can be implemented only once, not once for each runtime, and porting Rakudo to a new runtime mostly consists of porting NQP and then bootstrapping.

But yeah, I'm still a lot more comfortable in Perl 5 too.


I agree that the packaging of Perl 6 needs to be improved, particularly for Windows. It's easy in Linux and Mac.

Languages are a specification and implementation. Perl's been implemented in Rakudo, which runs on MoarVM and the JVM. It's handy being able to run on multiple VMs so that you can take advantage of their strengths, and in particular, places that deploy the JVM for Java will be simpler to integrate with, and apparently you can do stuff across with Java libraries even, though I haven't played with that at all myself.

http://rakudo.org/how-to-get-rakudo/#Installing-Rakudo-Star-... that's how I get it. Rakudo::Star is just a bundle of Rakudo with a bunch of commonly used modules which can be handy to have already installed.

Right now you get your choice of MoarVM or JVM to use as the tie into your OS, and MoarVM gets selected by default. It's started showing up in Linux distributions now too.


There's a .msi installer for Windows here http://perl6.org/downloads/


Reading up on it now, Perl 6 is a specification and Rakudo is an implementation. If you want to write Perl 6-compliant code, you can use Rakudo. "There are others...", but it seems silly to me...

As an outsider, my 2c is "abandon 'perl 6', too much baggage for reuptake, and go with Rakudo, which is a more modern name". People smarter than me decided on this rakudo/perl 6 nomenclature split, but it just feels like an own-goal to me.

https://en.wikipedia.org/wiki/Rakudo_Perl_6




Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: