Community of change
I’ve taken a fairly passive role in the Perl community over the years. I read a fair bit about what’s going on (on Perl Monks, or various blogs) but – other than the occasional post – I haven’t contributed a lot in terms of discussion or code. So it’s been interesting watching the developments in the community in recent times, especially in the last 12 months or so. Things are changing.
I guess I started noticed things changing around the early days of Catalyst. Catalyst (or at least the momentum it gained) was clearly a response to the hype around Ruby, and in particular Rails. While Perl had by that stage lost its standing as the primary language of the web (to PHP), we kind of felt we were still #1 for “serious” applications, at least if you were going to choose a dynamic language. Ruby and Python had been around for a while, but very few companies used them in production (well, at least for web apps).
Rails changed that. Ruby was suddenly a competitor to Perl in the dynamic language realm, and one that felt a bit more solid than PHP. As a community, we wanted to say “Ruby and Rails may be cool, but Perl is just as good… and here’s something to prove that”. A sub-community was born around Catalyst that was different to most others I’d seen in the Perl world. It attempted to be “modern”, sporting a swank website, screencasts, and other ideas mostly borrowed from the Rails world. Another important part of Catalyst’s success was DBIx::Class, which – while it wasn’t quite as publicly pretty (I don’t think it even has a website) – was also surrounded by a very vibrant community, producing some awesome work.
But as cool as these things were, they really only got us on to a level playing field with most other languages. The release of Perl 5.10 was the same – some really cool stuff, but nothing that’s likely to make someone switch languages in and of itself.
I think the tipping point was Moose. Yes, it gave us an object system that most other languages have had for years, but it also gives us so much more. I think Roles may be the killer features. It’s possibly the most important addition to the OO pradigm we’ve had yet (well, I’m really just basing that on what people who’re a lot smarter than me seem to think). But at the very least, it’s an addition – with a strong theoretical underpinning – which no other widely-used language has such a complete implementation of (at least to my knowledge).
So for the first time in a long time, Perl is at the forefront. And when you combine Moose with all the good stuff like Catalyst, and DBIx::Class, and Perl 5.10, and other great projects like Padre IDE, suddenly Perl is something a lot of people might be interested in.
And that’s what I think has been happening over the last 12 months. Those in the community have taken stock, looked at what we have, and realised people in the outside world need to be made aware of this. We all know Perl has an image problem, for reasons I won’t go into now, so that makes the need for self-promotion even stronger. And I think that’s why we’ve begun to see things such as Enlightened Perl, Modern Perl, and now, of course, the Iron Man Challenge. These have all come about very recently, and I think it’s a result of a community that desperatly wants the rest of the world to see the amazing work its done in the last few years.
The change is this: we now have real confidence in Perl, its major frameworks, and the community itself. No, it’s not perfect, but we have things (really cool things!) that no other language has. Now we just have to make sure everyone else knows it.