Ask Larry Wall
About what? Perl is probably a good topic choice. No one knows more about Perl than Larry Wall, right? We'll send 10 of the highest-moderated questions to Larry by email, and post his answers when we get them back. Note: Due to Slashdot's line length restrictions, lines of code over 50 characters long may not display correctly. Please be aware of this if you include code samples in your question.
If you were to have a second chance at designing Perl, what would you have done differently?
It's clear that Perl is undergoing a huge revision now, but even in the midst of this, you have to refrain from straying too far from the existing userbase. What would you do if you didn't have to satisfy those people?
I have been pwned because my
No, this is not a Troll! It seems to me that Perl is as much about expressiveness as it is about creating software.
What do you think about the argument that Perl is a good language for small/medium sized websites and Java/J2EE is what should be used for large enterprise websites??
I've been using perl for a very long time, but primarily as a scripting language. I indeed mostly use it for extraction and reporting. With the recent developments in perl, however, there seems to be the trend that perl is able to do much, much more (while retaining compatibility to be "just" a scripting language).
What do you think about how people are using Perl today? Are you satisfied that most people use it for simple tasks like log parsing? Would you like to see more advanced applications being built with Perl verses a compiled language?
Moderation: Put your hand inside the puppet head!
What language do you use when you're not using Perl?
PDHoss
======================================
Writers get in shape by pumping irony.
If given the chance, what 10 questions would you ask yourself?
42
Thanks for Perl and the excellent Camel Book. I've been using Perl for 7 years now and am very grateful for having such a tool at my disposal.
Now for the question. Many times people ask the question "Does open source software pay?", and I am under the assumption that it has for you with the profits from the Camel Book and the Perl Resource Kit, etc. So has OSS been profitable for you?
PS, I miss the Hmm..... and other funny comments while applying patches :)
Due to Slashdot's line length restrictions, lines of code over 50 characters long may not display correctly.
Isn't this something that can be fixed in Perl?
MjM
I only mod up...
XKCD:Xeric Knowledge Comically Dispen
I'm a CS student who's recently become very interested in Perl along with other languages. However, I don't really have too much everyday (or even occasional) need to actually USE much Perl. I am big into learning as much as I can about it for its own sake.
:)
Now, for the question: Given this approach to learning Perl (just for a general working knowledge, maybe light usage,) is it really worth spending a lot of my time learning Perl now, or should I wait for the big Perl 6 revision?
Thanks
Sharpies don't just sniff themselves.
Do you think that Perl the fact that Perl is so easy to learn and alows a lot of "Baby Talk" is a disavantage in the workplace were it makes a good programmer indistinguishable from a amateur wannabe. Compare that to Java where even if you just want to print "Hello World" you have to understand inheritance, polymorphism and static class methods. Would a Perl certification help give managers that fuzzy feeling of security?
Je t'aime Stéphanie
What do you feel about the future of Perl? Where is it moving to, and what still has to be done? .NET and XML? Do you see them as being possibly sucessful in light of Perl's flexiblity? There are so many languages and standards out there, it's hard to see what will some to the top.
Do you see Perl moving towards ever being a greater language for "programming" as C++ is? Or is it's place pretty well defined and not moving?
In addition, what do you think about other languages and systems such as the
Tibbon
tibbon.com
Thus I worry that perl has Python-envy. I've tried to use python several times but always go back to perl. The reason is my daily need for a parser dominates my choice of language and maintains my fluency, since I dont want to have to be fluent in both, perl becomes my language of choice for advanced tasks too, even though python might be better for strcutrued programming.
So my question is, is perl 6 making make perl a structued language like python? Would it be a good idea if perl did not develop any further for fear of becoming too complicated and thus disorganized. (witness the evolution of java from clean slate to giant mess with intricate redundant libraries half of which are deprecated).
Larry, Perl has been accused of not being object-oriented because it only supports one of The Three Pillars(encapsulation, the other two being inheritance and polymorphism) of Object-Oriented programming.
In my experience having the programming language handle the complexities of the object type is just as good as having explicit types like int, float, string, etc. But others disagree. And, I'm sure that by creating packages that call other packages, inheritance can be simulated. Others would disagree with this as well.
Additionally, the people who criticize Perl's object-orientedness claim that Object-Oriented programming is "bolted on" to Perl, and therefore is somehow unnatural compared to a language like Java which is built to be object-oriented from the ground up.
How would you answer these critics, and how well does Perl in fact support Object-Oriented Programming, in your opinion?
No, Thursday's out. How about never - is never good for you?
Which language do you prefere between Python and Ruby?
Why would you pick Perl over other web (or even shell) scripting languages like PHP, ASP or any of the others?
There are only 10 kinds of people in this world... those who understand binary and those who don't
What's your favorite Perl poem?
Cheers,
b&
P.S. Thanks for creating something as wonderful as Perl! b&
All but God can prove this sentence true.
Mr. Wall,
I know that you are an amateur linguist, since you originally wanted to be a missionary, and I was just wondering what other languages that you know and how they influenced your design of perl. I believe that you mentioned in the Camel that Greek was one of the languages that you drew from, and I was just wondering about the others you used, and why you chose them.
Thanks!
How do you think Perl compares to languages such as Ruby, Python, or Lua? Where do you think Perl has its strengths, when these other languages are accounted for?
Larry, I am a perl user for quite sometime now, infact in many organizations like us perl is the defacto language for scripting. And I feel Perl has reached a pinnacle. Perl as such will be difficult to improve. Of course better regex and such minor issues can be fixed, but for all that matters I waould call it perfect, so do you plan to branch into something completly differnt, yet on the same philosophy. Perhaps perl with more intution, more power, an altogether differnt language with the same underlying philosophy of perl?
My Aurora : http://www.youtube.com/watch?v=o91ZsGwJYyg
FB : https://www.facebook.com/TanveersPhotography
What would you say has been the number one requested feature that you will not put into Perl 6, and why not?
What are your thoughts on these other scripting languages? What do you like about them, what do you dislike?
Do you even lift?
These aren't the 'roids you're looking for.
In the Camel Book, you mention Tolkien's Lord of the Rings as good background reading for Perl.
Do you think the Peter Jackson movies are an acceptable alternative? Or do I have to read the books?
The opposite of progress is congress
At the college level, the programming classes are taught using C,C++,Java, etc. Do you see a place for perl being taught in the classroom? I find that it is often overlooked and dismissed as simply a scripting language.
Don't pet the burning dog
Just to set the record straight, I use whatever language that I think will be the best tool for the job.
Larry, my question to you is why should I use PERL over Python for system administration? Why should I use PERL over PHP for web content? What do you think that PERL is best suited for?
What is your opinion of .NET in general and Perl's role in it? Given that .NET supports Perl as one of the languages would you recommend actually using it for any projects? Do you see good future for this tandem?
Mr. Wall,
Your campaign seems to have the momentum of a freight train. Why are you so popular?
Finally, math books without any of that base 6 crap in them.
WARNING: a Christian topic follows. Close your eyes and stop your ears if that bothers you.
I hear that Mr. Wall once wanted to be a missionary translator but that a chronic health problem prevented him from going someplace foreign. I further hear that missionary translators use Perl a lot.
Has he heard any cool stories about how missionaries use Perl?
Would he ever want to do a short-term missionary gig?
How is his health nowadays?
Having read some of the more recent Apocalypses, I have a question for you: are you crazy? The regexp changes you're talking about in Apocalypse 5 will make Perl 6 deeply incompatible with existing scripts and practice. In particular, I object to the conversion of [] to non-capturing grouping rather than character class. As a long-time user of Perl, I have to say this is insane. You're wrong when you say "we're really simplifying" -- you're making things more complex. Changing this breaks Perl and much more; why do you think you're immune from the negative side-effects of hubris? And it is hubris. We know this because you start page 2 of the Apocalypse by saying, "Regex culture has gone wrong in a variety of ways...." One of Issawi's Laws of Progress says that society (even Perl regexp culture) is a mule, not a car -- if pressed too hard, it will kick an throw off its rider. Something this radical and wrong will hurt Perl 6 adoption and will retard the acceptance of some very nifty features.
Dog is my co-pilot.
What are your thoughts on the comments made by people that Perl is not designed for projects that require more than one programmer? Many people have stated over and over again that Perl code can not be managed by more than one person ... what are your thoughts on that statement? How would you manage a large Perl project? Do you think Perl should be used for large projects? (or should it be used strictly as a "quick and dirty" programming language?)
BTW: I love your work (someone had to say it)
HallmarkOrnaments.Com
One of the big methodologies in vogue at the moment is eXtreme Programming and closely-related Test-driven Development (where you write your tests before writing your code.)
Considering that XP is a "high-discipline, low formality" methodology, how do you think XP and Perl fit together? How would you go about doing test-driven development in Perl? Is Perl a good language for XP?
-Peter
Mr. Wall
Are there any issues in Perl that will not be fixed in Perl6? By an "issue" I mean an aspect of the language that is being widely critized and is admittedly suboptimally implemented, like the current OO implementation.
Stop the brainwash
Larry,
I remember reading at some point that you are a
Christian, and there have been suggestions that
some of your early missionary impulses (a desire
to do good, help others) are perhaps part of the
zeal you have put into Perl over the years.
Preferring a scientific view, I am not religious,
and have no desire to be. Perhaps there is a
God, but if there is, I think he/she has no
opposable thumbs; in other words, has no power to
change anything; reality is just playing out
according to the laws of physics (whatever those
are).
Please tell us how in the world a scientific or
at least technical mind can believe in God,
and what role religion has played in your
work on Perl.
Thanks for doing this interview, and thanks
for Perl!
That was what I wanted to ask, actually. I was wondering if I could have a date with your daughter, Heidi.
Thanks.
Hi Larry,
Like many others, I *love* Perl. I use it both professionally and personally. You've not only helped make my career, but also given me a very pleasent past-time. I was wondering what I can do to say thank-you? Can we give you money? Dontate something to someone, etc.?
When the new Programming Perl came out, I didn't really need anymoe (viva perldoc!), but wanted to make sure I was putting a few bucks in the pockets of those who made Perl great. What else can I do to say thanks?
-Bill
SlashSig Karma: Excellent (mostly affected by moderatio
perl 1-5 have been great UNIX configuration/management languages. This includes small-scale webserver platforms. It's very difficult to find any other language that is as versitile in this respect where it reigns in it's niche. It is the perfect combination of speed, power, simplicity and huffman encoding (especially given the co-UNIX-tools look-and-feel).
Perl 6 on the other hand, changes this formula around; favoring a more general solution that potentially reduces performance (due to abstractions), and deviates substantially from the UNIX-family-syntax - Namely: c-ish-syntax ( colon, question mark, select, exception-handling, etc), awk/sedish reg-ex's, raw c-libray-wrappers, etc. It was these very similarities that made learning and accepting perl so trivial since learning CIS and UNIX administration was sufficient to master perl in 2 days.
My question is: does perl 6 have a niche in mind? Or is it spreading itself too thinly; competing more and more against Java/python/C# and thus losing it's identifiable niche?
-Michael
What is your favourite quote? (*coughsigcough*)
When in doubt, parenthesize. At the very least it will let some poor schmuck bounce on the % key in vi. (Larry Wall)
AWK couldn't handle opening and closing multiple files at that time.
This is answered in Chapter 27 page 645-647 of the camel book.
Please let's keep with questions not answered already.
I'm a perl programmer who uses it daily. The push is on from the C?O types to get rid of Perl, even though a bunch of us here know it and are very proficient and fast with it. The new standard is Java with web services and all that other BS. This sickens me, because a) I'm biased towards Perl and b) I know Java is simply a fad language and the overhead/infrastructure only serves to give do-nothing architect types jobs.
The high-level technical people in my company don't take Perl seriously. They see it as some kind of super-Awk or an artifact of the early days of the web. Smart people know better, but we're not in charge.
What do you think it would take to get people to take Perl seriously as a programming language [again]? Is widespread use of Perl a goal of yours, or do you not care?
-- Sorry, I can't think of anything funny to say here.
Polymorphism is the key to OOP. Its what makes everything reusable, and melds everything together in a program.
Most OO fans will say something like "X is the key to OOP". Yet X is always different. X has been "composition", "patterns", "inheritance", "abstraction", "reuse", "encapsulation", "modeling noun interaction", etc. etc. etc.
I would like to ask Larry what he *feels* about OOP rather than what Perl does with it. If you want to know what OOP features Perl has, then RTFM.
Please, don't waste questions on stuff that you can find by RTFM.
(oop.ismad.com)
Table-ized A.I.
At that time, there was no credible competition to Perl in any of the niches it basically created. These days, there is more competition than I can comfortably list. Indeed, if I were choosing a language like Perl today, I would be very, very tempted to choose Ruby instead, and I am not the only Perl programmer who feels this way. Interestingly, Perl6 is beginning to look and feel a lot more like Ruby. Are there indeed aspects of Ruby that you were deliberately trying to have in Perl6? Are there any aspects of Ruby you are especially wary of?
Babar
Could you please put in multi-line commenting in the next version of Perl? My # key is getting rubbed off.
OddManIn: A Game of guns and game theory.
I'd find it hard to beleive that someone could argue that Perl as a language has a better design than Ruby (now's your chance if you want to). If Larry Wall is any sort of visionary shouldn't he swallow his pride and switch to Ruby?
I find it hard to believe that someone could argue Gnome as a desktop has a better design than Windows. If swagr is any sort of visionary shouldn't he stop doing his own thing and immediately start blowing Bill Gates?
Larry. What is the best programming language you did not desing?
Dyslexics have more fnu.
A scripting language is one that you don't like.
A programming language is one that you do like.
One of the features I really miss in perl is a clean way to pre-compile
scripts. Both to speedup loading times and to byte-[en]code to program.
There is perlcc, which really isn't supported as a production tool and doesn't take
modules into account.
What do you think about technologies like Zend?
Is this really a issue for perl? or just a matter of time?
lock, change, test, commit, unlock
or
change, test, commit, merge?
Are you a locker or a merger?
it's not going to stop until you wise up, no it's not going to stop. so just give up.
"Doesn't look like you need to know much about inheritance, polymorphism, and static class methods to me." -- says the man as he defines a static class method.
Never underestimate the bandwidth of a 747 filled with CD-ROMs.
I was just looking at www.wall.org and the site for your church, of which you are the webmaster. Neither of these sites use any perl whatsoever. Coming from you, I would have expected to see a super cool Perl based calendar and lots of other neat dynamic stuff. What's your reasoning for using no perl on either of these sites?
There is no reasonable defense against an idiot with an agenda
:wq
Larry,
As a fellow Christian (I'm sure that revelation won't get me mod points) I must say that I have really appreciated your 'State of the Onion' speeches over the years. Thanks for showing that Christians can think and that we don't all mindlessly follow a 'televangelist' religion.
Now for the question:
Why do you think that the geek/tech community is so anti-Christian and what can we do to help change their negative stereotypes of Christians? Why is it that so many in this community feel that being a 'Thinking Christian' is an oxymoron? People like Knuth and yourself show that Christians can think and make contributions in the technical world.
I tend to believe that the anti-Christian bias has some justification - meaning that Christians have often not displayed the grace which the Founder displayed and taught us to live in. What is it that Ghandi said when asked about Christianity? "Christianity I like, but it's those Christians that I'm not sure about". I also suspect that the anti-intellectualism of the pop-televangelists that is unfortunately so visible bears much of the blame (often when I come across one of those so-called Christian TV shows I think I'm looking at some kind of religious mutation and when I realize that these folks claim to believe the same things I do, I wince).
It is called Faith.
As others have pointed out, Perl's garbage collector does lend itself to the circle of garbage problem because it uses reference counting. Could you comment on the tradeoffs weighed when designing the garbage collector? e.g., Efficiency, time to implement, etc. If you could, would you reimplement it so that it used techniques like the Train Algorithm instead?
/<en
What's it like for a celebrity to be a part of a community of Christians? Do you pass the collection plate and hand out programs before service starts like any other member, or do you get the celebrity treatment there, as well? I guess I'm asking how deep and intrusive into your life this celebrity stuff goes.
Keep it up, I appreciate it, and the world needs more Christian heros!
Siggy Wiggy Figgy Tiggy a bana bo Biggy!
I think you'll find your answer here... http://www.wall.org/~heidi/
Irrelevant. Just because a person copies "public static void main" out of example 1.1 in Learn Java in 24 hours doesn't mean they understand what it means. I would wager that 90% of Perl programmers who use "my" regularly don't have a clue about lexical vs. dynamic scoping, but it doesn't matter because "my" does what they expect.
First, many thanks for Perl, which has saved me much anguish.
I know you're an aikidoka, and after studying aikido for a year, I've come to see several similarities between aikido and Perl. For example, Perl gives you a nice feeling of blending with the problem instead of struggling directly against it, just as you blend with and redirect your attacker's energy rather than directly confronting it in aikido. Similarly, TMTOWTDI ("there's more than one way to do it") in aikido as well as in Perl (at least in my dojo, where understanding and reaching the goal is more important than slavishly copying the sensei).
My question is, did you consciously approach Perl with aikido in mind (or vice versa :-)? Or is it just that they both appeal to your personality in the same way?
Also, incidentally, what style of aikido do you practice?
``Life results from the non-random survival of randomly varying replicators.'' -- Richard Dawkins
Like Linus Torvalds, you are the alpha programmer, the founder and "benevolent dictator" of a major open source project. Of course, both projects now have large and well-structured teams of developers with many recognized leaders, but nevertheless, everyone looks to both you and Linus for guidance and leadership, and everyone accepts that you have the final say in issues of dispute.
:-)
The open source movement hasn't been around long enough for us to witness the transition to a new top dog in a worldwide, highly visible project, so we all have to wonder sometimes what will happen when you and Linus decide to pass the baton, and how it will be handled. Have you decided what has to happen for you to retire from the Perl project? Or do you think you'll be hanging in there at 75 and above, a John Lee Hooker of programming languages, until the day you flop over your keyboard? Do you think that you'll hand over the scepter to a successor at the pinnacle, or do you think Perl can be taken over by some kind of committee? Doesn't there have to be an individual who has final say on important and possibly controversial decisions? Do you think the developer community will accept a new leader on your sayso, or will there have to be some sort of election? And if you do consider choosing a successor, what will your criteria be?
BTW, I'm an atheist, but I hope you don't mind my saying God bless you for creating Perl.
Always keep a sapphire in your mind
He claimed the design of Parrot was fundamentally flawed and pointed to it's highly unusual design and the very high number of opcodes. I was wondering exactly what you're thoughts are on Parrot. It's claimed that it'll be a good target for any language, both static and dynamic, but are you really interested in pushing this? Could you see Parrot as worthy competition to .NET in the cross-language VM space? Is having a very large number of opcodes an advantage or a disadvantage?
But a bigger issue for me as a Perl app writer has been ease of installation. Is this going to get better in Perl 6? Installing a Perl app can be a fairly complex process, especially if you need lots of CPAN modules, and a lot of them call C code that needs to be compiled. Also, there seems to be a general assumption that modules are going to be installed in /usr, but many end-users might not have the privs to do that. None of this is a big deal in the world of sysadmins and webmasters, but for naive end-users it's a problem. Will the advent of Parrot make it possible to give the user a big ol' bytecode file that includes everything? I know it's going to become easier to glue C and Perl together -- will this translate into an easier exeprience for the end-user as well?
I guess I'm just spoiled by the MacOS X experience, where an application appears as an icon in the Finder, and to intstall it, all you do is drag it to the Applications folder. Wow! Java also does a good job of streamlining the installation process, although it's at the cost of making the standard library ridiculously huge.
Find free books.
Perl's philosophy is largely a complement of this sentiment. This kind of thinking was in vogue for a long time, and Perl's bucking of the trend was (largely) responsible for its popularity.
Perl advanced the notion that syntax is not a byproduct of grammar. It should not be an orthogonal representation of the language's capabilities. It is important that the concatenation operator be one or two characters. A language is for humans to use; it should reflect how humans think. Give the computer the tedious job of normalizing that input, and spare the human's cycles for more important things.
Read the Apocalypses, or Larry's intro to the ORA books, or the Exegeseses(es?). You'll note artifacts of this philosophy everywhere, including in a discussion of original complaint, anonymous character classes: Unicode makes unnamed character ranges less of a Right Thing than before. And with real set operators for named classes (you can say Word Characters and Whitespace but not Digits), they're a lot less necessary. They're still in there, but it's a couple extra characters to reflect their diminished relevance.
There are some that disagree with this thinking, but I'd question what attracted them to the language in the first place.