Interview with a Perl developer, Randal Schwartz

2018-03-28 12:41:12 admin News Interviews 0 Comments

Randal Schwartz is a self-taught programmer, writer, consultant and trainer. A published author of several Perl books, like Programming Perl, Learning Perl, Intermediate Perl and Effective Perl Programming and an important community contributor, Randal has been involved with Perl since its first release in 1987.

BIP:

When and how did you get into programming?

R.S.:

I worked a lot with my Dad in the “lab”... our workbench where we assembled various kits from HeathKit and Popular Electronics.  In the early 70s, they were mostly TTL and DTL, and eventually CMOS, moving from Nixie tubes to LED displays. I seemed to have a good aptitude for digital electronics.  In school, I showed some serious skills in math, so I decided that a career in computers would be an ideal overlap for these two areas. At this point, computers meant “government or banks”, but I thought that would be ok. Of course, I couldn’t have predicted the microcomputer revolution that was just around the corner. (I assembled an IMSAI 8080 for my high school!)

BIP:

What was your first programming language?

R.S.:

My dad brought home a stack of books for the PDP-8 computer, including one on FOCAL.  I read through the FOCAL book and said “this doesn’t seem that hard”, and wrote some code on a piece of lined paper.  I took the code down into the garage and told Dad “this is what I want to do… this stuff makes sense to me.” (I never got to type that code in anywhere though.) Within a few months, Dad had arranged with the local high school to get me after-hours access to an ASR-33 Teletype (110 baud, uppercase only, and noisy in a small closet) that had a dialup to the school district’s HP2100 system running TimeSharedBasic.  The first program I wrote for that I remember clearly: “press 1 for add, 2 for subtract, 3 for multiply, 4 for divide”... about 100 lines of BASIC code. The first time I met with the instructor (who was giving up his Saturday for me), he started to crack open the manual. I pulled out my program and said “can I just try typing this in?”. It worked perfectly. My first program that I ran had no bugs. :)

BIP:

How did you start your relationship with Perl?

R.S.:

I was a big fan of Larry Wall, having used rn and patch frequently.  So when Perl came along on Usenet, I downloaded Perl 1 (something like 45 parts in a sharchive), played with it, and didn’t do much.  But Perl 2 came along and I started rewriting a lot of my other awk/sed/emacs-lisp scripts using it. When Larry announced Perl 3, I volunteered (back when I actually had spare time) to be on the “alpha test team”, trying the compilation on machines Larry did not have access to. (Perl5-Porters essentially grew out of this team.)  From there, I started evangelizing Perl pretty heavily on Usenet, and ended up working with Larry on the first Camel book (Programming Perl, first edition), contributing my experience as a tech writer as well as a programmer, as well as being familiar with Perl. I went on to write the best-selling training book (Learning Perl) based on courses I was teaching, first for a company in the SF bay area, and the eventually through my own company, Stonehenge.

BIP:

Besides Perl, do you use any other language in a significant way?

R.S.:

Yeah, I’m now involved with the Dart and Flutter community fairly heavily.  However, at one point (when I was actually using a resume) I think I counted something like 35 programming languages that I was at least familiar with.  I also worked with Smalltalk for many years, dating back to the 1982 release to Tektronix for the Magnolia, and the 1983 company that later became Gemstone.

BIP:

What’s your current IDE or text editor?

R.S.:

For many years, I used vi (before vim). Around 1981 I switched to GNU Emacs.  I found there was no pretty-printer for elisp in there, so I wrote one that Richard Stallman called “brilliant” and asked for it to be included in the distro.  So there’s a little bit of me in each copy of Emacs that ships. Lately, for Dart and Flutter, I’ve finally gotten in to using Visual Studio Code, a new open-source editor from Microsoft.  Yes, from Microsoft.

BIP:

Over the years, what was the most challenging Perl job or project you had?

R.S.:

The biggest ongoing project is writing and maintaining the back-office code for http://insightcruises.com. Very little of it is customer-facing, but there’s something like 30K lines of Perl code there (and 11K lines of template toolkit!), and I also assist with the customer-facing “brochure” website and the “booking” engine.  The brochure site required me to learn JavaScript and jQuery, and the booking engine has taught me a lot about trying to maintain legacy Perl code that I didn’t write. :)

BIP:

What do you think about Perl 6?

R.S.:

I find it fascinating, but I’m not going to invest any writing or teaching resources in it. I think Dart and Flutter have a much better chance to give me a new sense of purpose for teaching on-site and open-enrollment courses with Stonehenge, which is where the big money is compared to contracting.

BIP:

What would be your advice to someone new to Perl?

R.S.:

There’s a lot of crap code out there.  Most of it written during the dot-com boom.  Avoid that. Get a book on modern Perl, like chromatic’s book. Use Moose (or its equivalent).

BIP:

What’s the story of Perl at ZipRecruiter, how significant is Perl as a technology there? How large is the Perl team?

R.S.:

The founders knew Perl, from having put together rent.com, which was one of the largest Perl shops in Silicon Beach. So naturally, they started with Perl for a code base, and luckily grew wildly successful, enough so that they suffered from their own scaling.  That’s when they brought me in… to improve their website performance. My contract has now exceeded four years, and they’re moving me into new territory soon. I can’t say honestly how many Perl hackers work for the company, but primarily, when you’re hitting http://ziprecruiter.com/, most of the code running to give you the reply is still good old Perl (Catalyst and DBIC, mostly).

BIP:

Have you worked with other, larger or enterprise level companies that use Perl in a significant way?

R.S.:

Sure, nearly every client I’ve had in the past 20 years has been Perl-related somehow. If you view my linked-in page (https://www.linkedin.com/in/randalschwartz/), you can see some timeframes and some details.

BIP:

Where would you place Perl in the market today, compared to some of the more trending languages?

R.S.:

There’s more Perl code and development being done every day, year over year. The problem is that it’s just a much smaller piece of a much bigger pie. Sadly, I’ve heard of hiring managers having to switch away from Perl just because there aren’t enough Perl devs going around.  But Perl is not going way… it’s only getting better.

BIP:

You mentioned that you’ve attend every Geek Cruise so far? How did you run into that?

R.S.:

Hmm.  The first 40 I went on, yes.  But I’m down to about one in three recently.  So in 107 events at this point, I’ve attended 75.  I met “Captain” Neil Bauman as an attendee of my open-enrollment Perl class in 1998.  He later had this idea to have a Perl conference on a cruise ship. We ended up with about 10 speakers and 150 attendees, and although I hadn’t expected to want to cruise ever again, I just … kept going.

BIP:

You’re currently a presenter of FLOSS Weekly. How does one go from consulting and programming to hosting a show, albeit one related to technology?

R.S.:

I probably couldn’t have done it without my teaching and public speaking experience, as well as organizing my training company.  Lots of details to keep the show going, including identifying potential guests, scheduling them into the available slots, and also scheduling co-hosts (and sometimes my replacement when I’m out). The show is fun, and after 10 years, I’ve interviewed some of the most important people in FLOSS. I’m also genuinely curious about everything people are discussing on the show, so I’m a good proxy for the home audience to ask that next follow-up question.  It’s also nice because I can now get into most conferences as legitimate “press”, giving me full access to the conference while only paying my travel costs.

Leave a comment


0 Comments

Subscribe to our newsletter!

Make sure you never miss the interesting stories of Perl startups, apps and projects.