You Can Cuss in Perl

Question: How would you explain what Perl is to a non-programmer?

Larry Wall: Well, people have ideas of what programming is like from the movies and such, but it's not really much like that.  Perl is what we call a scripting language.  It's for doing ad hoc things and just one-off things that you really wouldn't almost think of as being programming problems.  It's a language that is kind of like, you might think of writing a, you know, a ransom note and you're going to grab a newspaper and clip it into little pieces and so you want to find the right text really quickly and then you want to have some way of gluing it all together in the right order and that's kind of what a scripting language is good at, it's good at taking text and gluing it together.

But more than that, I mean, there's many scripting languages in the world, Perl is a little bit special because it is based more on some ideas from the way natural languages work.  My training was in linguistics, as well as computer science, so I've tried to make a language that works on a deep level, like human languages work.  You don't have to know the whole language to use it usefully, you can do baby talk, you can do grown up talk, you can cuss in it, you can write poetry, you can be a playwright, is sort of the idea.

How you use the language is really based on things that are external to the language itself.  So many computer languages try to force you into one way of thinking and Perl is very much the opposite of that approach.  It's kind of like a, well, sometimes Perl has been called the Swiss army chainsaw of the internet, but it's more like a Swiss army machine shop.  It really gives you a lot of tools, some of which are dangerous, but it lets you get your job done very quickly.

Question: How is Perl a “post-modern language”?

Larry Wall:  Well, the way I think of post-modernism, there's, post-modernism, of course, is about having many different views of something; it's about, you know, some people think of it as tearing down the power structures.  But in my experience, the post-modern movement has mostly been about not getting hung up on one particular idea or way of doing things, like modernism tends to do, and instead, sort of picking and choosing from different historical eras—I'm thinking more of architecture, where you can see different architectural features that the architect has used, just because they think they're cool and they can combine, you know, classical and romantic and baroque even, different ideas, and even modern, sure.  But you pick things because they're cool and because they'll be useful, not because somebody says this is the only way to do things.

And so Perl is very similar in the way it has collected features from other languages, things that seem to be distinct ways of doing things and finding a way of meshing those in a pleasing fashion—the same way a poet might take words that are very different from each other and mesh them into a coherent poem. Perl, in that sense, is very, very much, it doesn't have an agenda and it really is not trying to tell you how you're supposed to do your job, it just tries to get out of your way as much as possible. 

Question: Is Perl a good first language to learn for aspiring programmers?

Larry Wall:  In a sense, it's a good first language.  I've known people who learned it as a first language successfully, but that's not its primary purpose.  There are languages that are designed with the purpose of being a good first language, but they tend to run out of steam about the time your programs get interesting.  I think of Perl more as a last language that you would want to learn, that while Perl is like a human language and that you can start with baby talk and you're not expected to, you know, we don't expect a 50-year-old and a 5-year-old to speak with the same diction.  That's fine.  But we expect that when you need to know something, you can learn a new thing and the resources will be there for you to learn as you go.  So, it can be learned as a first language, but we really concentrate on having an expressive language, not an easy-to-learn language.  And sometimes an expressive language is a little harder to learn, but we think it's worth it. 

Perl developer Larry Wall says that, like a human language, you can use Perl in many ways—for baby talk, grownup talk, writing poetry or plays, and even cussing.

The 4 types of thinking talents: Analytic, procedural, relational and innovative

Understanding thinking talents in yourself and others can build strong teams and help avoid burnout.

Big Think Edge
  • Learn to collaborate within a team and identify "thinking talent" surpluses – and shortages.
  • Angie McArthur teaches intelligent collaboration for Big Think Edge.
  • Subscribe to Big Think Edge before we launch on March 30 to get 20% off monthly and annual memberships.
Keep reading Show less

Scientists reactivate cells from 28,000-year-old woolly mammoth

"I was so moved when I saw the cells stir," said 90-year-old study co-author Akira Iritani. "I'd been hoping for this for 20 years."

Yamagata et al.
Surprising Science
  • The team managed to stimulate nucleus-like structures to perform some biological processes, but not cell division.
  • Unless better technology and DNA samples emerge in the future, it's unlikely that scientists will be able to clone a woolly mammoth.
  • Still, studying the DNA of woolly mammoths provides valuable insights into the genetic adaptations that allowed them to survive in unique environments.
Keep reading Show less

Do you have a self-actualized personality? Maslow revisited

Rediscovering the principles of self-actualisation might be just the tonic that the modern world is crying out for.

Personal Growth

Abraham Maslow was the 20th-century American psychologist best-known for explaining motivation through his hierarchy of needs, which he represented in a pyramid. At the base, our physiological needs include food, water, warmth and rest.

Keep reading Show less