Slashdot Mirror


New Video Peeks 'Inside the Head' of Perl Creator Larry Wall (infoq.com)

"I was trained more as a linguist than a computer scientist," says Perl creator Larry Wall, "and some people would say it shows." An anonymous reader describes Wall's new video interview up on InfoQ: "With a natural language, you learn it as you go," Wall says. "You're not expected to know the whole language at once. It's okay to have dialects... Natural languages evolve over time, and they don't have arbitrary limits. They naturally cover multiple paradigms. There are external influences on style... It has fractal dimensionality to it. Easy things should be easy, hard things should be possible. And, you know, if you get really good at it, you can even speak CompSci."

Wall also touched on the long delay for the release of Perl 6. "In the year 2000, we said 'Maybe it's time to break backward compatibility, just once. Maybe we can afford to do that, get off the worse-is-worse cycle, crank the thing once for a worse-is-better cycle." The development team received a whopping 361 suggestions -- and was also influenced by Paul Graham's essay on the 100-year language. "We put a lot of these ideas together and thought really hard, and came up with a whole bunch of principles in the last 15 years." Among the pithy principles: "Give the user enough rope to shoot themselves in the foot, but hide the rope in the corner," and "Encapsulate cleverness, then reuse the heck out of it.."

But Wall emphasized the flexibility and multi-paradigm nature that they finally implemented in Perl 6. "The thing we really came up with was... There really is no one true language. Not even Perl 6, because Perl 6 itself is a braid of sublanguages -- slangs for short -- and they interact with each other, and you can modify each part of the braid..."

Wall even demoed a sigil-less style, and argued that Perl 6 was everything from "expressive" and "optimizable" to "gradually-typed" and "concurrency aware," while supporting multiple virtual machines. He also notes that Perl 6 borrows powerful features from other languages, including Haskell (lazy evaluation) Smalltalk (traits), Go (promises and channels), and C# (functional reactive programming).

And towards the end of the interview Wall remembers how the original release of Perl was considered by some as a violation of the Unix philosophy of doing one thing and doing it well. "I was already on my rebellious slide into changing the world at that point."

3 of 106 comments (clear)

  1. Re:How's that Perl 6 going? by Anonymous Coward · · Score: 2, Informative

    Ignored? LOL! Python 3 is thriving! One of the most elegant languages, it really is a joy to use. Perl, on the other hand, is on par with brainfuck. And that's why it's dying.

  2. The problem with breaking backward compatibility by 93+Escort+Wagon · · Score: 4, Informative

    When you choose to remove backward compatibility, those of us who've been using perl for a while basically will (or at least should) evaluate our need for a new language from scratch. And, compared to other languages (e.g. python, php) perl 6 has several strikes against it - two big ones being the lack of an installed base and the relatively small number of fellow coders.

    People who haven't already used perl in the past will likely not be inclined to try perl 6; and not everyone who's written perl to this point will choose to pick perl 6 as their "new" language going forward. Speaking only for myself, I've got a fair bit of existing perl 5 code, which will be maintained or upgraded as perl 5... and going forward I'll probably pick something other than perl 6 for new work.

    --
    #DeleteChrome
  3. Re:I actually remember those early Unix days. by hey! · · Score: 3, Informative

    Up to a point, sure. For what in relational terms would be selection, projection, and aggregation of delimited input, awk works great. PERL slots in where you'd start thinking about writing a C program instead.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.