Docendo discimus


  • Calendar

    January 2022
    M T W T F S S
  • Archives

  • Recent Posts

  • Bling

Posts Tagged ‘perl is alive’

Alive, unless proven otherwise

Posted by brunorc on August 16, 2009

After publishing my YAPC::EU recap, I’ve received the following response by email:

However, I think you may have missed the point of the closing keynote slightly. Cog gave 3 examples of how it’s easy for us to give out the wrong impression about Perl, and I noticed that you’ve tagged your YAPC recap with “Perl is d34d” and “Perl is not d34d”.

As a community, we really need to stop using negative words to describe our language. (…)

That’s why I slightly changed tags in the quote – no, Google, you won’t feast on our flesh :-)

Anyway, I recalled the well-known article of Paul Graham about eating the beverages (or something similar). And I thought about the Blub metaphore, that it still can be useful. Here it goes:

I recently got back from the Blub conference. I met there a lot of other Blub programmers, some of them I knew before, as we – Blub folks – often find it nice to organise and meet once a month or so. Well, we enjoyed the conference, as we were able to discover new interesting extensions of our language, new ways of using it – and, last but not least – hear some news about the next minor and major versions of Blub!

I’d like to mention that lots of those folks are actually using Blub in their work, sometimes even because most of their job concentrates on writing, maintaining and extending the code written in Blub. And – believe me or not – some of them are even paid for writing, maintaining and extending the Blub code itself!

So it shouldn’t be surprising, that some companies went to the conference to recruit some talented Blub developers; and we were pleased to notice that O’Reilly keeps providing our community with good books about Blub. Thus, it’s possible to work with Blub and earn good money, that could be then spent to get even more Blub!

It could have been written by some Python afficionado, who went back from PyCon 2009 in Atlanta; or some PHP passionate who just jumped off his plane from Berlin after attending the International PHP Conference; or maybe it was JSCONF or JavaOne? In November we’ll notice a lot of such news from Rubyists attending the RubyConf, so get ready.

Anyway, whatever the Blub is, it appears it has a strong, vibrant community; it is a tool of choice for a lot of people – thanks to its capabilities. Blub developers will keep being busy with their work and will keep having fun with their work. Certainly no reasonable person would call Blub dead. And what can a Blub programmer say, when some troll starts to yell “Blub is dead”?

Yes, trolls shouldn’t be fed. But they feed Google.

Counter target black spell

Counter target black spell

It’s relevant to us, so let’s take a look. First of all, ei incumbit probatio qui dicit, non qui negat – which means, the burden of proof rests on who asserts, not on who denies. Ah, the first probable shot, waiting for the Perl 6.0… great, let’s take a look at the counterexamples:

  • Ruby: version 1.0 released December 25, 1996; current version: 1.9.1; no new major version in more than 12 years
  • Python: version 3.0 released 3 December, 2008; after 8 years from 2.0
  • Java: version 1.0 released in 1995; after 14 years we’re on 1.6, dubbed “Java Standard Edition 6.0”
  • PHP: version 5.0 released 13 July, 2004

Seriously, no offence, just numbers and dates. I especially respect Python folks for the courage of introducing some backward incompatible changes. I would argue that PHP 5.3 should be the real 5.0 version, but let’s put it aside. And yes, Perl 5 was released in 1994. We could have used the Java Standard Version Numeration and shout that we already have Perl 10, but what’s the point? Preparing the next major version of the language takes a lot of time – even more if such release has to change something more than numbers (oh, and by the way – the virtual machine of our next major release will be able run the code written in other languages; does the opposite is also true?).

So, to summarize. There’s a language. There’s a new minor (5.10) and the next one is close enough. There’s a schedule for the next major (Rakudo Star). There are jobs, people, conferences, books… Perl lives, being a living proof itself :-) And what arguments are on the other side?

Honestly, Perl is alive – unless proven otherwise.

Posted in Perl | Tagged: , , , , | 2 Comments »

YAPC::EU 2009 recap

Posted by brunorc on August 9, 2009

Four days packed with Perl, Portuguese food, warm Chartreuse, cold beer and even more Perl! It was really nice to meet Legendary Perl Creatures, see some friends and got to know more Perl people.

But what was even more important, was the content. Everyone was using words like Moose, Catalyst, DBIC or five-dot-ten (well, some well known hackers were also using other words, starting with 0xF), and presentations were full of new ideas. It was not about some magic artefacts, that can explode in your hand if you tamper with them in the wrong way. It was not about CGI. It was not about Perl obfuscation and the (ab)use of some fancy and “meaningful” operators.

Instead I saw Damian Conway talking about Regexp::Grammars. You’ve probably heard about Ruby and maybe even get fed up with the whole DSL stuff. Now you can build the parser and get the abstract tree – all using meaningful regular expressions. Yes, meaningful regular expressions. Thanks to the named captures you don’t have to rely on $1, $2, ... variables. But in Regexp::Grammars you can use named subrules as well, so your parser really doesn’t have to be hairy. Oh, and you can even make it easy to debug, as it is able to notify you about errors. Then you get a nice, minimalistic syntax tree.

Yes, I agree, most of us don’t spend their days writing parsers. But still, there’s a lot of nice things to be discovered. Paul Fenwick went with a talk about awesome things in Perl. Of course he mentioned Moose, but I was really surprised with the autobox and autodie things. Such things show how Perl evolves – in contrary to its critics, apparently, who still find it relevant to point out that you have to manually unroll the @_ list.

Of course you have to, unless you use Moose with MooseX::Declare! Ah, you have to use it… is it a problem? Well, you can write your own solution by hand if you don’t trust this guy. Or you can start to complaint, because it’s not part of the core of Perl. And it should be, since it is so important for oneliners you launch from your command line, isn’t it?

OK, we don’t have to unroll the @_ anymore. Also, we can use threads. And exceptions. And they are not part of the core again. But you know what? The topic of this YAPC was Corporate Perl. And there were people from Cisco, Nagra, Opera, Booking, Sapo – and they went to tell us how they use Perl and want to use it even more, so they would like to hire more Perl developers. And apparently they weren’t worried about exceptions being used from a module. Looks like their main concern is how to get more and more talented, open-minded Perl programmers, because – yes, you guessed it – they are not the part of the core and you still have to unroll them manually.

Oh really? There was a bunch of famous Perl hackers, but there also was an awful lot of people from mailing lists, IRC channels, Perl Mongers communities. And they may be part of the core, as there is a lot of projects that don’t require a rocket-science level, so everyone can participate. Also, they went to YAPC to learn something, to get some books, to discover new things.

I especially liked the Thursday, with the workshop led by two gentlemen from Shadowcat Systems. There were some bits about Catalyst, Moose and DBIx::Class and a lot of Royal Navy spirit, provided by inimitable, faster than a shutter Matt S. Trout, who also signed (as a co-author) a copy of the new book about Catalyst that was sold for some horrible amount of the European currency, but you can get one from Amazon for the regular retail price; no fancy stuff from Matt though, but you can still carry it to the next YAPC in Pisa (get familiar with the city, attend the Italian Perl Workshop in October, it’s really worthy) and ask him to sign it, making him feel like a Tom Jones.

And last but not least – Jose Castro gave a brilliant keynote, ending it with a phrase we somehow felt in the air: Perl is Alive and Kicking, and Stronger than ever!

Posted in Catalyst, Moose, Perl | Tagged: , , , , , , , , , | 1 Comment »

Perl 6 release – or Xmas in Easter

Posted by brunorc on August 4, 2009

If you don’t know it already, on YAPC::EU 2009 in Lisbon Patrick Michaud announced the date of Rakudo Perl, AKA Perl 6. This will be an useful and usable version, named Rakudo * (or Rakudo Star). Every developer will be able to download it, install it and start writing applications in Perl 6.

Update: of course I was too excited and too tired after the second day of the conference to mention the most important information: the date. So, here it is – Spring 2010. We will have Xmas in Easter and since we be so good and patient, we will receive our ho-ho-hot Rakudo Star.

So, Perl is not so 0xDEAD.

Greetings from Lisbon!

Posted in Perl 6 | Tagged: , , , | 1 Comment »