Интервью /

Interview with Randal Schwartz

How and when did you learn to program?

I taught myself very early on, at least 45 years ago. I'm still learning. :)

What editor do you use?

GNU Emacs! I download the latest release from the git development archive each morning and compile it to make sure it still works on OSX.

When and how have you been introduced to Perl?

I downloaded Perl 1 from the Usenet postings as it came by, since I was already a fan of Larry Wall from patch and rn. Played with it a bit, went back to using awk and sed. Perl 2, now that made all the difference... started rewriting everything in that and encouraging others to use it. And, for Perl 3, I wrote the Camel book with Larry (although he retitled Perl 3.xx as Perl 4 just as the book was released).

What are other programming languages you enjoy working with?

I'm pretty fluent in Smalltalk, having used it since 1983. I'm getting fluent in Dart, which may be my next language to get famous in after Perl.

What do you think is the most strongest Perl advantage?

As Larry Wall puts it, "the right blend of Manipulexity and Whipituptitude". In simpler terms, it makes the simple things easy, and the hard things possible. Most languages fail at one end of that or the other.

What do you think is the most important feature of the languages of the future?

Ability to solve the Tower of Hanoi. :) Just kidding.

All practical languages are optimized for a particular problem space. I think Javascript is pretty poor for a command-line language, but it works well in the browser environment. (Dart is the first language that I think will live equally well for both.) So there no "most important feature", unless you'll allow the meta-feature of "making it easy to solve problems in the targeted problem space".

What do you think about Perl's future?

Perl's future is doing mighty well. It was stalled a bit in the post-dot-com-boom era, but it has really picked up since then. Perl now has regular releases, more modern features, and increasingly more CPAN uploads year-over-year, meaning more projects are choosing Perl. It's perhaps a smaller slice of a bigger pie, but the pie is getting huge.

What is your favourite JAPH?

$Old_MacDonald = q#print #; $had_a_farm = (q-q:Just another Perl hacker,:-); s/^/q[Sing it, boys and girls...],$Old_MacDonald.$had_a_farm/eieio;

How did you get involved into FLOSS Weekly?

I met Leo Laporte on an InSightCruise (back then called "Geek Cruises"). We became friends and he gave me advice on how to start my "GeekCruisesNewses" podcast, which I ran for about 150 episodes. He was a guest on one of my early shows, and after we were done taping, we chatted about how he and Chris DiBona were starting this "open source" podcast. I suggested myself as a guest, and ended up on Episode 9 of FLOSS Weekly. After 17 episodes, Chris got busy (his wife had had a baby... it happens), and Leo put the show on hold. I asked Leo why the show had stopped, and he explained and said that he was looking for a new co-host. I volunteered, and took over as co-host for the next 100 shows or so. Leo started taking on more podcasts, and confident that I could be the show-runner and host, gave me the opportunity to go solo. I now have a rotating panel of co-hosts, and when I'm unable to host a show, two members of the panel take over the roles of host and co-host.

Does Perl consulting still have a broad market?

It's paying my bills. :)

Should we encourage young people to learn Perl right now?

Yes. There's a shortage of Perl programmers right now. I can recommend a couple of good books if they want to get started. :)

Questions from our readers

Do you write any Perl code right now?

I have Perl code open in the other window of this editor at this very moment. Yes, I write Perl code nearly every day.

What do you think about the current state of Perl?

I'm happy it came back from the post-boom-crash. I was starting to wonder what I would do next in the mid 2000's.

What's your opinion on Perl 6?

In some ways, I'm very happy it is happening. In others, I'm annoyed, because the early effort on Perl 6 could have been applied to Perl 5 to get us where we are now about five years earlier. (I'm probably wrong on that, but it's just a personal gripe.)

I want a language that has the features of Perl 6, especially the grammars, infinite lists, and all the other good stuff I'm seeing. But, I'm torn as a service provider about when I should start investing in developing talent (in myself and recruiting others) to provide consulting, training, and writing about Perl 6.

What are you thoughts on Modern Perl?

With no disrespect to Chromatic, I'm really just not following all that.

Leaving aside your famous transform, what do you like the most from your Perl discoveries?

I think it was when I discovered (and repeatedly re-proved) that any non-trivial Perl cannot be parsed statically, at least not without having a Perl execution engine available during the parsing. And thus, Perl is relatively unique in that space. (For more details, see my posting at http://www.perlmonks.org/?node_id=44722.)

Interviewed by Viacheslav Tykhanovskyi (vti)