Perl 6.0 released
github.com
github.com
Cassette tapes are hip again, why not perl. :-)
And other enjoy the nostalgia of cassettes and eight tracks. You can hardly walk down my block without seeing someone listening to a 30 year old walkman. That's probably more of a style thing.
Part of what I enjoy about listening to tapes is in fact its subpar quality. The main reason I listen to tapes is because my two cars both take cassette tapes, so it's more a reason to have something to listen to while driving. But in a car, the small distortions on a tape are easily missed compared to listening at home. So it works great for me.
(Plus the silence at the end of each side is a great break every 40 minutes or so.)
I remember cassettes as convenient but with a lot of issues with sound quality.
But somehow I had a pocket reference to Perl 5 that my mom put on my desk, because it was in the house and she assumed it was mine -- I must have picked it up somewhere and forgot about it.
I'm taking this as a sign to learn Perl 6.
I look forward to experimenting with Perl6 soon.
Perl was intended to be a highly concise shell-like language that excelled at text processing. Partly in order to achieve such concision, the syntax overloaded various symbols to mean completely different things in different syntactic contexts, which made it very difficult for humans to parse quickly unless they worked in it very frequently (I recall the authors of either the llama or camel book estimating five times a week as the minimum). As Perl grew in popularity, objects were added on, and the whole language felt cobbled together. Perl users mainly used it as a shell replacement or for CGI scripts. Larger projects tended to be the domain of Python (or Java if concision was no longer a requirement).
And then came Ruby with syntax that was friendlier to Perl programmers than Perl itself, yet was semantically consistent, had built-in object support, and could rival Python for projects of any size, while surpassing it for the "quick and dirty scripts" that Perl excelled at. The conversation stopped being about Perl vs. Python and became Ruby vs. Python. People stopped using Perl 5.
So Perl 6 might very well be a lot more similar to Ruby (and even to Python if we exclude syntax) than it is to Perl 5.
On that, I think we'll just have to agree to disagree.
I think the most accurate thing to say is that there has been a lot of cross-pollination between Perl and Ruby, it goes both ways, and it has been going on for the entire life of Ruby and Perl 6. But, Ruby is Ruby and Perl 6 is recognizably a Perl variant.
And, while we're speaking of promises, I believe that was a feature that came relatively late in the development of Perl 6, but it is a nice implementation from what I can tell. Here's the docs: http://doc.perl6.org/type/Promise
> To be clear on that point, this Rakudo release is not considered the primary deliverable for this Christmas; it is the language specification, known as "roast" (Repository Of All Spec Tests), that is considered the primary deliverable.
Perhaps the following will help reduce some of the confusion and highlight what's important.
First, about the title:
1. The article's original title was "Christmas is here". It makes total sense in the main context in which it was supposed to appear (the Perl 6 Advent Calendar). I would likely rename it if I were posting here at HN.
2. The retitle includes "Perl 6.0". This has for years been the informal codename for an eventual "1.0" type release of the Perl 6 language that Larry Wall scheduled in late 2014 for delivery around now.
The deliverables were/are: a version (now called v6.c) of a test suite ("roast") that corresponds to a version v6.c of the Perl 6 language; and a compiler that passes this v6.c roast and thus officially implements this first official version of the Perl 6 language. (I say "officially" to reflect what I understand to be Larry's intent for its use.)
The article linked to by this HN is the first article to:
* Document that the v.6c release has just happened (iiuc, around 22:00 GMT on Dec 25th);
* Provide key release info such as discussion of v6.c and a link to the passing compiler that's part of v6.c.
The passing compiler is the 94th monthly release, on December 25th 2015, of the Rakudo compiler, now the first official Perl 6 compiler. This compiler release clinches deliverable status for the overall v6.c (or "Perl 6.0") release.
I hope this helps. And I hope you HTAAOF with the new Perl 6 and the Rakudo Perl 6 compiler. :)