In his annual "State of the Onion" speech at the O'Reilly Open Source Conference (OSCON), Perl creator Larry Wall hinted that the long-awaited version 6 of the Perl programming language might finally be released soon. He also ruminated about the effect that Perl 6 would have, once it is released.
The running joke Wall has about Perl 6, an ambitious update to the language that has been in development for over a decade, is that it will be out "by Christmas." The punch line is that he doesn't say Christmas of which year.
With his State of the Onion keynote talk, an annual presentation that charts the progress of the Perl community, Wall usually reiterates this joke. But in this year's talk, held at the OSCON conference being held in Portland Oregon this week, he subtly dropped hints that a workable version of Perl 6 might be available soon. He noted that Perl 6 "pretty near does exist," even if it "still runs very slowly ... and has lots of bugs," he said.
As one Perl consultant, Bob Goolsby, said after Wall's presentation, "Christmas could happen in July this year."
The volunteer developers building Perl 6 have been finalizing a stable, if not feature-complete, version of Perl 6 that developers can try. This version, nicknamed "Rakudo Star" is expected to be released on July 29.
Wall's State-of-the-Onion talks are known among Perl users for their whimsy, and this year was no exception. Wall enlisted the help of his wife, who played an angel standing on one side of him, and his son, who played a devil flanking Wall's other side. The bickering costumed pair offered contrasting commentary to Wall's pronouncements about Perl 6, representing his unresolved views about the language.
"Are Perl 5 and Perl 6 really the same language?" he polled the audience, offering no definitive answer himself. Instead, he concluded, "I'm really really good at not deciding. When a question is raised on a mailing list, not deciding is often the most important decision I can make."
As in years past, Wall, amidst the presentation tomfoolery, demonstrated a few of Perl 6's new tricks.
For instance, given a numerical pattern, Perl 6 can intuit the next numbers in the series. The statement "(1,3,5,7....*)" will return a set of twenty odd numbers, starting at one. The statement "(1,2,4....*)" will return a sequence of successive numbers raised by the power of two, each a double of the number preceding it.
Wall mused about whether Perl 6 would be a disruptive technology, once it is released. He noted that the term "disruptive technology" has gotten so overused as to have little meaning, but the term still could be worthwhile. He defined a disruptive technology as something that renders current technology less important, even if the new technology doesn't do some things as well as the technology it replaces.
He noted that the early versions of Perl had been disruptive to the Unix community, because they did not follow the Unix ideology of "doing one thing and doing it well." Perl developers pride themselves in saying that with Perl there is always more than one way to do something.
The problem with the Unix approach, Wall noted, is that very few Unix utilities actually did what they were supposed to do very well.
"They were all full of arbitrary limits," he said. Administrators expended a lot of effort in trying to get two utilities to agree on some data format for an operation, an operation that would inevitably cause the creation of "lots of little files...scattered around the directory."
"Perl could run rings around [the Unix] shell," he said. "Perl would scatter data around the program instead."
Wall seemed divided over the question of whether Perl 6 would be as disruptive as earlier versions.
"Perl 6 could bring on a bloody revolution, or it could be a delightful step forward. You folks in the room will have to decide how violent or peaceful the future will be," he said.
In his talk, Wall also introduced Perl 6's new mascot, a colorful butterfly named Camelia, commenting that the mascot would remind programmers to remain creative in their work.
"I don't believe professionalism and playfulness are mutually exclusive," he said.
Join the CIO Australia group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.