The Lion and the Butterfly and the Camel
Juan Julián Merelo Guervós
Posted on November 26, 2017
So I just came back from the London Perl Workshop
This actually involved taking 6 trains from London to Heathrow because I am old and dumb. And also the Piccadilly line stopped right here for a little tiny while.
The London Perl Workshop is about Perl.
If you want to know more about Perl check out the upcoming Perl 6 Advent Calendar and the corresonding Perl Advent Calendar. This morning the BBC was mentioning some weird advent calendars such as the Pork Scratchings calendar but somehow they forgot to mention that. Although we should definitely have something like that. The Perl Camel and Camelia Scratchings calendar, for instance. You can scratch anything, right?
Anyway. Perl6 seems to be a tiny thing right here, so I might as well talk about that for starters. It's a language that it's about inclusivity (which is the opposite of exclusivity) and diversity. Perl6 does not exclude any paradigm, it's got them all. It's concurrent and object oriented and functional and it does work with Unicode to an extent few languages do. Perl6 is still Perl, and both Perls are about getting shit done now. For instance, yhis 25 line program makes a BigQuery request for pull requests on both versions of the language, for instance. Took me like a couple of hours get the query right, and understand it, and around 10 minutes to process it to extract only the mentions to Perls and their rank.
use JSON::Tiny;
my @months_numeral = "0" «~« (1…9);
@months_numeral.append(<10 11 12>);
my @months = <2015 2016 2017> X~ @months_numeral;
@months.pop;
my $fh = open "new_repos.csv", :w;
my $fh2 = open "rank.csv", :w;
$fh.say("Perl, Perl6");
$fh2.say("Perl, Perl6");
for @months -> $m {
# Taken from https://stackoverflow.com/questions/41475499/how-to-measure-language-popularity-via-github-archive-data
say "Querying $m";
my $output = qqx{bq query --format json "SELECT COUNT(*) c, JSON_EXTRACT_SCALAR(payload, '\$.pull_request.base.repo.language') lang FROM [githubarchive:month.$m] WHERE JSON_EXTRACT_SCALAR(payload, '\$.pull_request.base.repo.language') IS NOT NULL GROUP BY 2 ORDER BY 1 DESC LIMIT 100"};
my @ranking = from-json( $output );
my @perls = @ranking[0].pairs.grep( { $^þ.values[0]{'lang'} ~~ /Perl/ } );
my $year = $m.substr(0,4);
my $month = $m.substr(4);
$fh.say( "$year/$month, ", (@perls.map: *.values.map( { $^þ{'c'} } )).flat.join( ", " ) );
$fh2.say( "$year/$month, ", (@perls.map: *.keys ).flat.join(", ") );
}
$fh.close;
$fh2.close;
This is the result, BTW.
. I used it right in the talk I gave at the conference.
You can easily see the place in the ranking sliding to the mid-20s, with Perl6 going up and down like crazy, but never leaving the lower part of the top 100.
I was also kind of sad that nobody mentioned Perl in a recent question to The Practical Dev. It was not my first language, either, but it's the first language I learned a long time ago and have been using ever since.
You probably couldn't tell by attending this workshop. It was not as crowded as Oxford Street on a Saturday night
but still pretty busy, with three separate tracks and close to 200 people registered.
Perl 6 was the (Rakudo) star of the conference, with many talks, including mine, devoted to it, and many books sold, including, yes, my book that's for those that know little or no programming at all.
But how did it go?
You can check it out in the #lpw2017
hashtag. It went well. Details don't matter too much, but the organizers did an excellent job of accommodating talks at all levels and including other languages such as Go by Sue Spence or Rust or all of them. Perl community is open to all communities, and also to people baking stuff
We were well provided with pastries by the community, and also some sponsors which brought piles of pasteis de nata in the afternoon coffee. The fact that this conference, devoted to a widely disliked language, was so well attended, might or might not be a reaction to Brexit
but the fact that talks were enthusiastic and knowledgeable and funny and amusing means that the future is probably brighter for Perl than we might have thought. The fact that there were four recruitment companies: Eligo, Perl Careers, CV Library and WCN too.
Why would you care
If you are curious, and want to get stuff done, you'd do well to check out any Perl. Perl 6 is probably better right now, but Perl 5 is in for major changes very soon that will make it faster and better. If you don't know where to start, just ask.
Posted on November 26, 2017
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.