Forgot your password?
typodupeerror
Perl Programming

Ask Larry Wall 633

Posted by Roblimo
from the from-the-master's-mouth-to-your-ear dept.
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.
This discussion has been archived. No new comments can be posted.

Ask Larry Wall

Comments Filter:
  • Rewind and replay (Score:4, Interesting)

    by ObviousGuy (578567) <ObviousGuy@hotmail.com> on Monday August 26, 2002 @12:03PM (#4141462) Homepage Journal
    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?
    • If you were to have a second chance at designing Perl, what would you have done differently?

      Isn't Perl 5 the answer to that? Perl 5 was Larry's rewrite of Perl, and Perl 6 is to be the communities (hence the RFCs, etc.)

      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.

      Heh. You must not have heard about the new regular expression syntax. ;-)

      -Bill
  • James Joyce (Score:3, Interesting)

    by fm6 (162816) on Monday August 26, 2002 @12:04PM (#4141467) Homepage Journal
    If he were still alive, and were writing software instead of fiction, would he program in Perl?

    No, this is not a Troll! It seems to me that Perl is as much about expressiveness as it is about creating software.

    • Either Perl or Lisp. I think either would fill his stream of conscienceness.
    • by Zordak (123132)
      If he were still alive, and were writing software instead of fiction, would he program in Perl?
      If he were still alive and writing bad software instead of bad fiction, I would do the world a favor and shoot him myself. All of his software would be written in INTERCAL, for which he would think himself very clever, and Computer Science and Engineering professors everywhere would waste entire semesters forcing students to decipher it because it would be considered a "masterwork" of software.
  • Perl vs J2EE (Score:5, Interesting)

    by Anonymous Coward on Monday August 26, 2002 @12:04PM (#4141468)
    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??
  • Perl's Roots... (Score:2, Interesting)

    by jeffy124 (453342)
    We all know perl was born because you couldnt get something to work right using awk. I'm curious - what could awk not do that implored your self-proclaimed laziness to go off and design Perl?
    • Used to write hardware diagnostics, on VME and Multibus cards in a chassis; one master card, many test cards. Master reported errors over a serial line, and over 15 years the format had gradually changed. Any 24 hour run could have a real stray dog variety of error reports. I needed to analyze the output for patterns, and tried using awk, sed, sort, etc. It was an incredible pain what with all the subtle variations from board to board. After two weeks struggling with awk, sed, sort, I tried Perl, I think Perl 4 at the time, and within a couple of days had learned enough of the language to do the entire job.
    • Re:Perl's Roots... (Score:3, Informative)

      by rsd (194962)
      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.
  • by Marx_Mrvelous (532372) on Monday August 26, 2002 @12:04PM (#4141473) Homepage
    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?
  • Other linguas? (Score:5, Interesting)

    by PDHoss (141657) on Monday August 26, 2002 @12:07PM (#4141488)

    What language do you use when you're not using Perl? ;) Seriously, are there aspects of other languages you've considered adding to Perl? If so, what languages? What features?

    PDHoss

  • by thaigan (197773) on Monday August 26, 2002 @12:07PM (#4141492)
    If given the chance, what 10 questions would you ask yourself?
  • by hackstraw (262471) on Monday August 26, 2002 @12:09PM (#4141501)
    Larry,

    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 :)

  • Line Length (Score:4, Funny)

    by carrier lost (222597) on Monday August 26, 2002 @12:10PM (#4141502) Homepage

    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...

    • I believe it was "fixed" with Perl already. Keeps people from forcing the page to scroll horizontally by putting a long unbroken line of text.

      000000000111111111122222222223333333333444444444 45 555555555
      123456789012345678901234567890123456789 01234567890 123456789
    • Re:Line Length (Score:3, Informative)

      by jesser (77961)
      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?


      No. It can only be fixed by reducing the use of the <TABLE> tag and then turning off word-length restrictions.

      One of the evil things about using tables for layout is that it forces you to use word-length restrictions on text content and width restrictions on image content. Tables expand when there is a single long word. Since all of the comments are in a single table, one 9000px-long word in a comment causes other paragraphs, even paragraphs in other comments, to wrap at 9000px instead of at the edge of the browser window. Without layout tables, the long word would still make a horizontal scrollbar appear, but other comments would wrap at the edge of the screen as if there had been no scrollbar-forcing comment.

      For some other problems with table layouts, see my comment [webmasterworld.com] at webmasterworld. Note that tables are great for tabular data, but using them for layout at the same time makes them less useful for tabular data.

      One other advantage of using CSS rather than tables is especially applicable to Slashdot: over a slow connection, users of older browsers such as IE 6 for Windows would be able to see the first comment without waiting for the rest of the comments to load. Mozilla can display comments one at a time despite the table-heavy layout, but last time I checked, it could only do so in Slashdot's light mode.

      In Slashdot light mode, fixing the page-expanding-comment problem may be as simple as removing a single table tag. In heavy mode, it requires rewriting the layout to replace several layers of nested tables with divs and CSS. (Examples of existing light and heavy modes: light [slashdot.org], heavy [slashdot.org].) You can use the "block structure" web development bookmarklet [squarefree.com] to give each table a border (blue, green, or red depending on nesting level) if you want to see how the tables are nested without digging through the HTML source.
  • Perl Beginners (Score:4, Interesting)

    by KoopaTroopa (549540) on Monday August 26, 2002 @12:10PM (#4141508) Homepage
    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 :)
    • Try it with CGI, you will have far better experiences using Perl vs using C++ or whatever you are using now.
      In addition, try it for day to day administrative tasks (assuming that you are running Linux or BSD...)
      Make web pages, make scripts, make a few small games, try to see what you can do. Since you are a CS student, analyze the code, and try to trace all of Perl through (that's a task). It will make you better off for it. Try to program a CGI module or something if that proved too easy.
      I would say learn it now, I know that Perl 6 is a big one, but it's still Perl, and the difference won't even be as big as the one between C and C++.
    • Re:Perl Beginners (Score:2, Insightful)

      by sinserve (455889)
      If you are not going to use everyday, don't bother learning it. The P in "Perl"
      stands for practical.

      Perl doesn't have much linguistic inovations of it is own, it is just a reimplementation
      of ages old techniques. The much celebrated syntax is lifted straight up from unix shell
      and it is stream manipulating siblings (sed, awk, et al.) That is where the funny $@% prefixes
      come from (we know @ is straight from Lisp's backquote and array splicing syntax, much used with
      Lisp macros.) The regular expressions are nothing but Lex on steroids, I almost always rewrite
      my production perl code with regexes in C and it is very easy to do this, I don't even write C,
      I just write Lex rules in a lexfile and implement the case handlers in simple C.

      Perl is cool when you are a newbie coder who knows nothing but C/C++/Java, because those languages
      are expensive to "set up". You need alot of support code just to implement the simplest ideas.
      Perl has alot of things built in; high level data structures, memory management, clean string
      manipulation utilities, networking, GUI and more libraries than you can shake a stick at.

      But you know what? Perl is only AWESOME because we -as student programmers- were introduced to
      very low level languages in school, and don't have any ideas there exists extremely powerful
      laguages, with elegant syntaxes to die for.

      If you just want to learn about perl's "innovations", I invite you to learn Smalltalk, Prolog, or
      Lisp. Mostly Lisp.

  • 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.


    Do you have any suggestions for improving SLASH?

  • My Question (Score:3, Interesting)

    by SpanishInquisition (127269) on Monday August 26, 2002 @12:12PM (#4141517) Homepage Journal
    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?
    • I'm not Larry, but I'll give my answer:

      Perl newbies are obvious. They don't take advantage of hash keys, and generally write Perl just like they were coding in C (e.g. if/then/else to do multi-way cases, lack of good exception handling, for(;;) loops when a foreach loop is much more clear, etc.)

      They also "re-invent the wheel" with everything where an obvious CPAN module application would have made life easier for everyone involved.

    • Re:My Question (Score:2, Insightful)

      by mccrew (62494)
      >Compare that to Java where even if you just want to print "Hello World" you have to understand inheritance, polymorphism and static class methods.

      Ahhhh, Grasshopper, if only that were true.

      I have seen firsthand so-called "professional programmers" using Java to create some of the worst God-awful spagetti code I have seen in my 15+ years of . No matter what the virtues and ideaology behind any language, someone can come along and screw it up beyond recognition.

      Power tools in the hands of amateurs regularly results in the loss of limbs.

      -Steve

  • by TibbonZero (571809) <Tibbon.gmail@com> on Monday August 26, 2002 @12:12PM (#4141518) Homepage Journal
    What do you feel about the future of Perl? Where is it moving to, and what still has to be done?
    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 .NET and XML [microsoft.com]? 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.
  • by slashnot007 (576103) on Monday August 26, 2002 @12:12PM (#4141519)
    The reason I like perl is it is not a structured programming language. In my work I find it is 50% a get the job done parsing language and 25% sequencer of programs and deamons and 25% major ojbect oriented programming effort often a cgi.

    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).

  • by Anonymous Coward
    How many average sized ducks can fit into a two car garage. I need to know quick.
  • by Pinball Wizard (161942) on Monday August 26, 2002 @12:14PM (#4141528) Homepage Journal
    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?
    • Perl handles inheritance. It's not ideal, because subclasses have to know about their parent classes to avoid stomping on the parent's private data.
    • 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)

      I disagree with the above entirely. Perl OO is excellent at inheritance and polymorphism, and it's not so good if you're anal-retentive about encapsulation.

      You can do effective encapsulation in Perl, but it's a bit like driving your car wearing handcuffs that you've decided to put on yourself.

      OO Perl inheritance and polymporhism are wonderful compared to, say, C++ or Java. The lack of compile-time checking gives you incredible flexibility.

    • INHERITENCE
      ===========

      package Foo;
      use strict;
      use warnings;

      sub new
      {
      my $class = shift;
      my $this = bless {}, $class;
      }

      sub foo { "foo from foo\n" }
      sub bar { "bar from foo\n" }

      package Foo::Bar;
      use base qw(Foo);
      use strict;
      use warnings;

      sub bar { "bar from bar\n" }

      -- later in a script

      #!/usr/bin/perl

      use strict;
      use warnings;

      use Foo::Bar;

      # call inherited methods from Foo
      my $foobar = Foo::Bar->new();
      print $foobar->foo;

      # call overloaded method from Foo::Bar
      print $foobar->bar

      -- prints

      foo from foo
      bar from bar

      POLYMORPHISM
      ============

      This is hard to describe...everything is polymorphic

      my $foo = IO::File->new("bob",">")
      or die "Problem with file: $!"

      # treat $foo as a IO::Handle, and print to it
      print $foo "hello";
      Sorry, this is needed to defeat slash.
      • Please try to keep posts on topic.
      • Try to reply to other people comments instead of starting new threads.
      • Read other people's messages before posting your own to avoid simply duplicating what has already been said.
      • Use a clear subject that describes what your message is about.
      • Offtopic, Inflammatory, Inappropriate, Illegal, or Offensive comments might be moderated. (You can read everything, even moderated posts, by adjusting your threshold on the User Preferences Page)
    • How would you answer these critics...

      with a smack upside there heads...
  • Python and Ruby (Score:3, Interesting)

    by millibit (601517) on Monday August 26, 2002 @12:15PM (#4141533)
    Which language do you prefere between Python and Ruby?
  • Why Perl? (Score:3, Interesting)

    by Alizarin Erythrosin (457981) on Monday August 26, 2002 @12:15PM (#4141535)
    Why would you pick Perl over other web (or even shell) scripting languages like PHP, ASP or any of the others?
  • Poem (Score:3, Interesting)

    by TrumpetPower! (190615) <ben@trumpetpower.com> on Monday August 26, 2002 @12:15PM (#4141536) Homepage

    What's your favorite Perl poem?

    Cheers,

    b&

    P.S. Thanks for creating something as wonderful as Perl! b&

  • Languages in general (Score:4, Interesting)

    by nburtner (536565) <cstrife@gmaLIONil.com minus cat> on Monday August 26, 2002 @12:16PM (#4141545)
    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!
  • 5 Changes (Score:4, Interesting)

    by Darkness Productions (143908) <gms8994+slashdot@gmail.com> on Monday August 26, 2002 @12:18PM (#4141562) Homepage
    If there were 5 things about Perl you could change (or have changed in the beginning), be it the way regex's are handled, making one thing faster than another, what would they be, and why? I've often wondered why loops can be/are faster than grep for finding data in an array/string.
  • Perl Funding (Score:2, Interesting)

    by slashnot007 (576103)
    Now that the Funding grant for Perl has run out. How will perl be devoloped in the future? What would happen if it were not? (I think it might be a good idea to freeze it, making it a grand old tool like awk, grep and other masterable unix tools rather than a moving target)
  • I use and Love perl for a myriad of tasks... from website scripting to core business app frontends to SQL databases to embedded system programming.

    I absolutely love perl based on the fact that you HAVE to give out the source... It's just works that way...

    what is your opinion on these up an coming perl compilers? do you feel it's onyl about obfuscating and trying to lock down a perl program jsut to make a buck or try and avoid being Open Source? what are your feelings about peopl's efforts to try and make a perl program closed source this way?
  • language comparison (Score:3, Interesting)

    by relay_mod (525998) on Monday August 26, 2002 @12:20PM (#4141586)
    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?
  • what next now? (Score:4, Interesting)

    by tanveer1979 (530624) on Monday August 26, 2002 @12:21PM (#4141597) Homepage Journal
    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?
  • by TreyHarris (15366) on Monday August 26, 2002 @12:23PM (#4141617)
    What would you say has been the number one requested feature that you will not put into Perl 6, and why not?
  • by larry bagina (561269) on Monday August 26, 2002 @12:24PM (#4141618) Journal
    Whenever perl pops up in slashdot, there are plenty of language zealots claiming perl is obsolete and you should really be using php or ruby or python instead.


    What are your thoughts on these other scripting languages? What do you like about them, what do you dislike?

  • LOTR (Score:4, Funny)

    by baldass_newbie (136609) on Monday August 26, 2002 @12:25PM (#4141631) Homepage Journal
    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?
    • More importantly, camel three says "The Lord of the Rings by J.R.R. Tolkien (most recent printing: Houghton Mifflin, 1999)." Does it really have to be the most recent printing?

      (The Perl CD Bookshelf and grep are cool toys to have)

  • Perl Class? (Score:5, Interesting)

    by RollyGuy (24873) on Monday August 26, 2002 @12:25PM (#4141635)
    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.
  • Why Perl? (Score:4, Interesting)

    by wackysootroom (243310) on Monday August 26, 2002 @12:28PM (#4141650)
    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?
  • -either-
    What are your favorite things that have Perl or Pearl in them, either literally or figuratively? e.g. Pearl jam, Oysters, etc...? Please don't say Slashdot :)
    -or-
    Did your naming of Perl have anything to do with a linguistic memory of someone dear to you who used the word pearl in sentences such as "oh... he/she is a real pearl (of a person)"
  • Perl and .NET (Score:5, Interesting)

    by prostoalex (308614) on Monday August 26, 2002 @12:29PM (#4141656) Homepage Journal
    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?
    • Re:Perl and .NET (Score:4, Interesting)

      by mcc (14761) <amcclure@purdue.edu> on Monday August 26, 2002 @03:30PM (#4143252) Homepage
      I would like to ask the following as kind of a rider on the parent question:

      From looking at perl 6, it really and honestly seems to me like the perl 6 team is trying to position itself as a competitor to .NET, or at least mono. Specifically, Parrot as it's been described in the apocalypses looks like a natural replacement for the .NET CLR, as a more abstract and thus powerful VM that will let objects from different languages interact with each other seamlessly, without being neutered/"managed" the way that CLR languages have to be in order to fit the C# object model.

      Is this an accurate assessment? Was perl 6 meant to be a "better" CLR, and are you people intending to market it as such? If so, do you think that perl 6 could seriously compete with the .NET CLR or the JVM-- given that while those two may be a bit behind in the virtual machine department, they come with really complicated tightly-integrated framework APIs (J2EE, swing, the .net framework..) whereas perl just has a bunch of assorted disorganized modules that do everything?

      Can it be honestly said that perl 6 is a threat to .NET?
  • Larry,

    One of the limitations that I have found on Perl is
    its lack of modern concurrent processing support in
    the form of a standard stable threads package (yes, there is ithreads) or some way to make Perl modules execute and comunicate remotely (nope, rsh* won't do, neither is SOAP the solution)

    More and more other languages are providing mechanisms or libraries of modules that are standard in their distribututions.

    I would like to know what kind of ideas you would have in this area. Do you think that Perl needs to
    have this capability as a standard component?

    Thanks for all the fun!

    • First up, have you seen the thread support in Perl 5.8.0? It's documented here [perldoc.com] if you want to look at it. Exactly what do you think is wrong with it? It's in the core. It's stable. I'm not goading, I just want to know what you think is missing.

      Secondly, what's wrong with SOAP? SOAP::Lite works really well and is darn simple to use. Is it too slow? What's your main critisms of it? Other object Persistance frameworks exist (which are in turn used to do distributed transferal of objects. One I'm currently looking at is Pixie [fotango.com] which attempts to semitransparently seralise data structures and objects to and from memory and a database (i.e. it's an OODB) (it essentailly works the same way Java does - it does most of it nativly but you can put hooks in if you want)

      Do you really think all of this should be in the core? What is core anyway? Since it's often as simple as "perl -MCPAN -e 'install module::name'", how much do you want to force to be shipped with every single copy of perl?

  • by unicron (20286) <{unicron} {at} {thcnet.net}> on Monday August 26, 2002 @12:30PM (#4141674) Homepage
    Mr. Wall,

    Your campaign seems to have the momentum of a freight train. Why are you so popular?

  • Missionaries (Score:4, Interesting)

    by technoCon (18339) on Monday August 26, 2002 @12:30PM (#4141679) Homepage Journal
    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?
  • by Scareduck (177470) on Monday August 26, 2002 @12:32PM (#4141687) Homepage Journal
    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 [perl.com] 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. [perl.com] 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 [perl.com] 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.
    • by legLess (127550) on Monday August 26, 2002 @01:07PM (#4141931) Journal
      Yowza. Blockquothe the Scareduck:
      The regexp changes you're talking about in Apocalypse 5 [perl.com] will make Perl 6 deeply incompatible with existing scripts and practice. ...Something this radical and wrong will hurt Perl 6 adoption and will retard the acceptance of some very nifty features.
      First of all, in case you missed it, one of the explicit design goals of Perl 6 is to run Perl 5 code perfectly and with no changes. If you don't want to use Perl 6 features - don't. End of story.

      This makes your pithy Issawi quote pointless. Larry's not pushing the Perl mule, he's giving riders a choice of a new, different mule that many of them will like better. If you feel pushed - again, keep writing Perl 5.

      Larry's said several times that he's going to break everything that needs to be broken, mercilessly, in the design of Perl 6. Only those to whom this appeals need come along for the ride. I think your hysteria is misplaced.
    • I think that you're overreacting. Larry has specifically mentioned that there will be a Perl5 compatibility mode. Just put a :p5 after your matching character (m or s) and you can do things the old way. Meanwhile, those of us who want to do non-capturing groups can now use [...] instead of (?...), and for defined groups can use <[...]> instead of [...]. As Larry says, which do you use more, non-capturing groups or non-named character classes? Note that at the same time you're gaining the very powerful ability to create your own named character classes, so when you have an odd group of characters that you want to use again and again it won't be a problem.

    • You're wrong when you say "we're really simplifying" -- you're making things more complex.
      I think Scareduck is right here. Backward-compatibility modes will not make Perl, the totality, less complex; quite the contrary. Going forward there will be two significant different syntaxes for regexes, with the potential for great confusion if you don't know which one you are using. It also means two syntaxes to learn, with false cognates that are more likely to confuse than if the syntaxes were radically different.

      The old syntaxes for Perl are not going anywhere. By introducing new syntaxes, Larry is making Perl syntax twice as complex. It is already known as a syntactically complex language.

      If this quote isn't entirely ontopic for this discussion, it certainly is for Perl as a whole:

      "I thought that it was a firm principle of language design -- out of concern for programming as a human activity -- that in all respects equivalent programs should have few possibilities for different representation [...]. Otherwise completely different styles of programming arise unnecessarily, thereby hampering maintainability, readability and what have you. This requires from the language designers the courage to make up their minds!"

      -- Edsger W. Dijkstra on Ada (source) [utexas.edu]
      Not only didn't Larry make up his mind the first time around, but now that the creation has settled he's changing it all over again.
      • Begging to differ (Score:3, Interesting)

        by nakaduct (43954)
        "a firm principle of language design [...] that in all respects equivalent programs should have few possibilities for different representation [...]. Otherwise completely different styles of programming arise unnecessarily, [...]"

        -- Edsger W. Dijkstra on Ada (source)


        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.

  • by mustangdavis (583344) on Monday August 26, 2002 @12:33PM (#4141696) Homepage Journal
    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)
  • by phamlen (304054) <.phamlen. .at. .mail.com.> on Monday August 26, 2002 @12:35PM (#4141707) Homepage
    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
  • by Jeppe Salvesen (101622) on Monday August 26, 2002 @12:36PM (#4141712)
    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.
  • Application (Score:2, Interesting)

    What application of Perl most suprised/pleased/amused you when you discovered Perl's use in that role?
  • In memory of the original python/perl parrot

    Despite your major efforts at rationalization, Perl6 looks to be just as, if not more complex than Perl5 when it comes to the human readers interpretation of the meaning of the combinations of punctuation marks, brackets, etc in Perl6 source code.

    Why not just be done with the concept of multi-punctuation operators and just map the each of the operators into one of the many single Unicode characters [unicode.org] available. Imagine the money the Perl institute could make from the sale of keyboards.

  • creative muse (Score:2, Interesting)

    by nerpdawg (6937)
    How do you go about getting ideas for/stoking the creative muse for doing language design?
  • Role of Religion? (Score:4, Interesting)

    by Anonymous Cowdog (154277) on Monday August 26, 2002 @12:42PM (#4141750) Journal
    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!

  • Thanks Larry (Score:5, Interesting)

    by wdr1 (31310) <wdr1.pobox@com> on Monday August 26, 2002 @12:44PM (#4141775) Homepage Journal
    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
  • perl 6 niche (Score:5, Interesting)

    by maraist (68387) <michael,maraistNO&SPAMgmail,n0spam,com> on Monday August 26, 2002 @12:45PM (#4141784) Homepage
    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?
  • Favourite Quote? (Score:5, Interesting)

    by Vengie (533896) on Monday August 26, 2002 @12:46PM (#4141786)
    What is your favourite quote? (*coughsigcough*)
  • Perl as culture (Score:2, Interesting)

    by jom42 (604018)
    More than any other programming language, Perl has an extensive culture built up around itself. It is a language that people get quite passionate about, and it's used daily by system adminstrators, application programmers, researchers, hackers, and even poets. When you set out to develop Perl, did you envision this culture blossoming out of it? What is it about Perl that inspires such passion?
  • by kin_korn_karn (466864) on Monday August 26, 2002 @12:48PM (#4141815) Homepage
    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?
  • Linguistics and Perl (Score:2, Interesting)

    by elgonzzo (129077)
    I hear your interest in linguistics has had an influence on Perl and Perl's "there's more then one way to do it" attitude mirror's well the flexibility of the languages of the world, better then most programming languages(for better or for worse). I was wondering if you could tell us a little how Perl has been influenced by linguistics and how you wish/hope it will be?
  • Faith (Score:4, Interesting)

    by strider( corinth ) (246023) on Monday August 26, 2002 @12:58PM (#4141869) Homepage
    As both a Christian and a programmer whose primary language is Perl, I've been encouraged by the fact that you make your faith as public as you do. I'm currently considering a future in programming or ministry, and since reading your note on Authorship in the Perl README, I've wondered how you view your work in relation to your faith. Do you consider doing your job as well as possible a tribute to your Author, do you consider it as partly missionary, or is there some other aspect to authoring Perl that involves your faith?
  • The EURO... (Score:2, Funny)

    by VladDrac (15111)
    The euro has introduced a new symbol. Will you use it in perl6, and what for? ;)
  • Unfortunally Slashdot's filter blocks this to be in the comment:
    http://www.dias.com.br [dias.com.br]
  • Hello Larry, if you would develop a complete new language, not with perl6 in mind, how would it look like? What would be the design goals? Would it be total object oriented? Thank, Hermi
  • PLEASE ANSWER (Score:2, Interesting)

    by swagr (244747)
    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?

    NOTE TO [STUPID] MODERATORS: This is not a troll. This is serious. Think about it.
    • 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?
  • Perl and Ruby (Score:5, Interesting)

    by King Babar (19862) on Monday August 26, 2002 @01:09PM (#4141959) Homepage
    In the beginning, I programmed in awk. I lived life one line at a time, but it was good. Then somebody turned me onto perl, and life was much more than good.

    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?

  • by Washizu (220337) <bengarvey@comca[ ]net ['st.' in gap]> on Monday August 26, 2002 @01:13PM (#4142010) Homepage
    Could you please put in multi-line commenting in the next version of Perl? My # key is getting rubbed off.

  • Best language? (Score:3, Interesting)

    by notany (528696) on Monday August 26, 2002 @01:14PM (#4142034) Journal
    Larry. What is the best programming language you did not desing?
  • faster loading times (Score:5, Interesting)

    by rsd (194962) on Monday August 26, 2002 @01:31PM (#4142202) Homepage
    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 [zend.com]?

    Is this really a issue for perl? or just a matter of time?
  • by cpfeifer (20941) on Monday August 26, 2002 @01:45PM (#4142349) Homepage
    lock, change, test, commit, unlock

    or

    change, test, commit, merge?

    Are you a locker or a merger?
  • Do you USE Perl? (Score:4, Interesting)

    by Lxy (80823) on Monday August 26, 2002 @01:49PM (#4142386) Journal
    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?
  • Christianity (Score:5, Interesting)

    by Colonel Panic (15235) on Monday August 26, 2002 @01:51PM (#4142405)
    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).
  • Garbage collection (Score:4, Interesting)

    by Clipper (547339) on Monday August 26, 2002 @02:10PM (#4142595) Homepage
    As others [jwz.org] have pointed out, Perl's garbage collector does lend itself to the circle of garbage problem because it uses reference counting [perldoc.com]. 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 [artima.com] instead?
  • New Life Church (Score:3, Interesting)

    by Engdy (124179) on Monday August 26, 2002 @02:26PM (#4142755) Homepage Journal
    Larry,

    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!

  • Aikido and Perl (Score:3, Interesting)

    by ScottMaxwell (108831) on Monday August 26, 2002 @03:52PM (#4143408) Homepage

    First, many thanks for Perl, which has saved me much anguish.

    I know you're an aikidoka [yahoo.com], 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?

  • Your successor (Score:3, Interesting)

    by Get Behind the Mule (61986) on Monday August 26, 2002 @04:26PM (#4143676)
    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. :-)
  • Parrot as a good VM? (Score:3, Interesting)

    by IamTheRealMike (537420) <mike@plan99.net> on Monday August 26, 2002 @04:27PM (#4143690) Homepage
    I was talking to Miguel de Icaza a few days ago about VMs on IRC. As you may be aware, he runs the Mono project which is creating an implementation of .NET

    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?

He keeps differentiating, flying off on a tangent.

Working...