How to 'Save' Perl

Curtis “Ovid” Poe answers a Quora question on how Perl might make a comeback.

An excerpt:

One issue Perl has had has been marketing. We’ve done a great job marketing Perl internally the past few years and have really done a great job improving the language and the community, but now it’s time to make that push to the outside world. Many people are completely unaware of how vibrant the community and the language are.

As if to answer that, The Perl Foundation announced “an increased commitment to marketing and public relations” by bringing in a public relations group to help. Don’t know how much programmers will listen to a PR pitch, but it couldn’t hurt…

Back to Ovid:

The other feature is a proper Metaobject protocol in the language (not just in Moose). There’s been some work on this and if it ever gets into core (and Ricardo Signes, the person currently overseeing development on the Perl 5 core, said he’ll put it in if it’s stable), then Perl’s object-oriented features will not only catch up with most other languages, but will leap-frog many of them. However, without communicating this effectively to the outside world, this will be a beautiful gift that most will never open.

Adding in OO to core would be huge and is a necessity, I think. Will it save the language? I don’t know, but it’s a darn good idea and overdue.


I loaded up Google Maps to find directions to a birthday party in the area this weekend. The name of the place started “Be”. At that point, Google stepped in to offer suggestions of where I might like to go.

Their first option was Belgium.

OK, not exactly the place in Northern New Jersey that I was looking for, but what the heck? I clicked on it:

That’s pretty fancy, right there. It offers directions to the airport and a schedule of flights, along with their approximate prices.

I’m still not going to Belgium, but that’s pretty cool.

Why I Don't Want to Bother with Java

I know, I know. Some people can’t pick their language. They’re stuck with what they’re stuck with. For those people, Java rules. It’s been a major language for a long time now. Can’t deny its “popularity.”

I tried to get into it once, but it’s a miserable language to work with. The JVM is impressive, but the syntax drives me mad. It’s a cosmetic thing, I know, bet even [the “Hello World” example] turns me off:

class HelloWorldApp {
    public static void main(String[] args) {
        System.out.println("Hello World!"); // Display the string.

Commodore 64 BASIC:


I’d sooner give up lower case letters than deal with Java, thanks…

Tech Analysts in the Bubble

I’m pretty sure I’ve mentioned this here before, but with the new iPhone’s release, it bears repeating.

Some things tech analysts need to know at the release of a new iPhone:

  • Most iPhone owners use cases. The vast majority of them. I’d guess better than 95%. Our phones are thus thicker than what you’re reviewing. And, honestly, many of us like it that way. It’s easier to grab a phone in a more rubbery case than in the slick naked form factor that you’re all ogling over.

  • Most iPhone users are on a two year contract. The big phone companies make a big deal these days with all their special deals, but (again) 95% of iPhone owners in the U.S. are on a two year contract and won’t be breaking it at a cost of hundreds of dollars to buy a new phone.

  • Sure, there’s math that proves that spending $700 on a new phone is economically the best thing to do. Nobody’s budget works like that. Laying out $700 on a new phone is not going to work.

  • While we’re impressed by the engineering marvel that is each new edition of the iPhone, most of us probably don’t care about those minor details that show Apple design off so well. We cover them with the case. That unsightly line across the back? I never saw it, because the case covered it. My phone WORKS whether that line exists or not. The camera lens bulge? Doesn’t matter; my case is thicker. The rounded edges? Yeah, I can see them at the edge of my case and they’re neat, but they’re not changing how I use the phone, pretty though they might be. Antennagate? Not an issue for us.

If your report on the new iPhone is about carrying it around for a week without a case and without any concern for the price, then your review might very well be academically rigorous, but is functionally useless outside the bubble you and your friends blogging back and forth at each other live in.

Learning What I'm Learning

When I started writing in this blog daily at the beginning of the month, I thought it would help chronicle the new technologies I’d be learning away from work. Mostly, I thought I’d be doing a lot of Elixir. It took me this long to realize why that hasn’t happened and why this has been as much a Perl blog as anything else.

I’ve been learning new Perl things for work. And, honestly, that’s kept me happy. I haven’t felt as motivated to learn other things at the same time as much. It’s that process of learning the new stuff that keeps me excited about programming. When things were dry at work for new stuff, I scratched that itch by learning new things outside of Perl. Lately, all I’ve been doing is Perl-based work, and that’s mostly because I knew it was material I might be able to use at my day job immediately or in the near future.

The thrill of actually USING something immediately trumps the thrill of learning new stuff that you want to use in the future.

So, uhm, I’m being short-sighted? I don’t know. It’s all part of the process, I guess.

At least the learning never ends…

Videos for the Weekend

Some weekend video watching:

  • O’Reilly is selling a new video training series by Damian Conway on writing Modern Perl. That should be useful for Perl programmers. It is a for-pay series of videos, but the link includes a code to get you
    half off for a limited time.

The rest of the videos are free, though:

Getting Started in Open Source

This is a 2004 email from the Linux Kernel mailing list from Linus Torvalds. It’s been floating across Twitter today and deserves a read. It’s all about the necessity of dealing with small contributions to open source projects. Speaking as someone whose main contributions to Open Source have been documentation corrections to Elixir, I appreciate his thoughts here:

To me, the biggest thing with small patches is not necessarily the patch itself. I think that much more important than the patch is the fact that people get used to the notion that they can change the kernel – not just on an intellectual level (“I understand that the GPL means that I have the right to change my kernel”), but on a more practical level (“Hey, I did that small change”).

OK, so my “patches” didn’t even go that far, but it’s good exercise. Practice is a good thing.

Ruby: More Echoes of Perl

David Cross’ book “Data Munging With Perl” came out in 2001. It’s out of print now, and available in its original PDF form free from its author.

Check out this excerpt from the book’s preface:

Over the last five years there has been an explosion of interest in Perl. This is largely because of the huge boost that Perl received when it was adopted as the de facto language for creating content on the World Wide Web. Perl’s powerful text manipulation facilities made it an obvious choice for writing Common Gateway Interface (CGI) scripts. In the wake of the web’s popularity, Perl has become one of the hottest programming languages current in use.

Unfortunately, a side effect of this association with CGI programming has been the popular misconception that this is Perl’s sole function. Some people even believe that Perl was designed for use in CGI programming. This is clearly wrong as Perl was, in fact, written long before the design of the CGI protocol.

And then today, Justin Weiss posts the answer to the eternal question, “Can you learn Rails before learning Ruby?”

Or how about a more classic variation: Do I need to know Ruby in order to learn Ruby on Rails?

I fear Ruby is going down the Perl path already…