It's a mad, mad, mad world in any language

Wired on Friday/Danny O'Brien: The computer language Perl - the glue that holds the internet together - was first developed …

Wired on Friday/Danny O'Brien: The computer language Perl - the glue that holds the internet together - was first developed by Larry Wall in 1987. Its accomplishment lies in massaging together systems that weren't designed to be mashed together: to take data that was meant to be treated one way and treat it in another.

Perl's development is conducted by volunteers - working for free in order to perfect the tools they use every day.

At the Perl conference, the serious side of Perl is shown in a lecture on how a major bank depends on Perl to survive - if its worldwide Perl installation failed for a few seconds, they would lose millions of pounds.

A few doors away, that seriousness is somewhat belied as the chief (and unpaid) designer of an important plank of the language's future admits that their main goal is to play a series of 1980s adventure games with it.

READ MORE

The Perl fans, suffering from societal attention deficit disorder, have instigated "lightning talks" - presentations that last less than five minutes. One consists of a man conducting a Perl-adapted parody of The Sound of Music song Favourite Things - sung as a rap, in Chinese.

Perl has invited its competitors to the conference. There are speakers here from the world of Ruby - a language with almost as long a pedigree as Perl but originating in Japan - and Python, a clean, simple language that emerged from a combination of educational work and scientific programming.

The Python meetings are far more like you'd imagine meetings of programmers. Halfway through one, a northern European man carefully explains that the status message on the projector is from his boss, asking him about some minor topic. "No, no," jokes a voice at the back. "It is telling you to buy us all drinks tonight." A group at the front respectfully disagree. They know this language, they explain, and insist that this is not what the message says. The talk finishes exactly on time. Chinese rap this is not.

Why the difference? Why is Perl so frenetic and Python so calm? As spoken languages might influence the behaviour of native speakers, perhaps Perl moulds its users. Perl was designed to mirror the rich humanity of spoken languages. Not in its form - Perl does not read like any spoken language - but in its goals. Larry Wall's genius was to apply the tricks and commonalities that linguists have spotted in human tongues to the language mankind uses to talk to its machines.

Like human languages (and unlike many computer languages), Perl is not overly simplified - it is as convoluted as life, but no more so.

Instead of insisting that there is only one way to solve a problem, Perl gives its programmers flexibility. A Perl programmer will write a program one way, and another might use an entirely different idiom to express the same thought.

Despite or because of these oddly human facets, Perl has been a success. Its curious styling has led to adherents who explore the limits of the language as much as use Perl to do useful work. Perl, for instance, is the only computer language with a corpus of poetry.

Those more-serious Python users are happy to laugh at their Perl compatriots' playfulness, but in private they'll say that it's this lack of seriousness that has led Perl into the Byzantine state in which it finds itself.

Perl programmers burn out, or get into fights over small issues. The language at times has seemed to lurch into chaos.

Perl's flexibility of approach leads to code that no one but the original writer can read - no one can fix a problem because no-one can understand what's going on.

Faced with a convoluted language filled with historical arcana, new programmers often opt instead for clear, straightforward simplicity of Python and languages like it. Perl has been losing newcomers to the Net.

The reaction to these threats by the Perl community was typical. At an informal meeting at its conference three years ago, one of their leaders, Jon Orwant, began slowly and methodically throwing coffee mugs at the wall. Perl, he said calmly, between throws, was dying. It was no longer interesting to anyone. It needed a new big idea.

And so, in direct contravention of every other language's behaviour, the Perl crowd are reinventing themselves. Mr Wall is redesigning the language. The program which interprets the language - which converts its idiosyncrasies into a running program - is being recorded from scratch.

How's it going? The Perl people seem confident - but then they always seem confident. Mr Wall reassures the followers - but he has given up paid work for two years to finish this recreation of Perl. He's been living off his mortgage for the past year, and has been suffering with ulcers.

The other languages look on, by turns, concerned, envious, and eager to exploit weakness.

The overactive Perl programmers have already widened their plans. They have a bet with the Python developers that they'll be able to write a Python interpreter that will run faster on their creation than it does on the Pythonista's system. If they're wrong, the Python crowd get to throw a custard pie in the Perl designers' faces. The chaos continues.

Perhaps like politics and sausages - you shouldn't see computer languages being made. Or perhaps its better to know that this madcap world exists - to reassure yourself that, in amongst super-efficient capitalism and inhuman processes of the internet, there lies a human heart.