Forgot your password?
typodupeerror
Perl Programming Software

The Perl Foundation Gets New Leadership 145

Posted by ScuttleMonkey
from the changing-of-the-guard dept.
Andy Lester writes to tell us that the Perl foundation has named a new president and steering committee members. Bill Odom landed the seat of president, replacing Allison Randal who has occupied the seat since 2002. From the article: "Founded in 2000, The Perl Foundation (TPF) is a non-profit 501(c)(3) corporation based in Holland, Michigan, established to advance the use and development of the Perl programming language through open discussion, collaboration, design, and code."
This discussion has been archived. No new comments can be posted.

The Perl Foundation Gets New Leadership

Comments Filter:
  • What about Perl 6? (Score:3, Interesting)

    by bhirsch (785803) on Monday October 17, 2005 @01:41PM (#13810939) Homepage
    Hopefully this will help Perl 6 in being released at some point soon. My favorite programming language seems to be lagging behind quite a bit.
  • by neelm (691182) <michael.neel@gmail.com> on Monday October 17, 2005 @01:41PM (#13810943) Homepage
    Why not keep both on as president? That way there would always be more than one way to get something done... I'm sure that never leads to problems. /who let this python guy in the room?
  • I, for one, welcome our new PERL overlords!
  • by rockinrobotix (817091) on Monday October 17, 2005 @01:45PM (#13810976)
    Other than for products (or news aggregating websites) that were originally coded in Perl is there any reason to start a project today in Perl instead of any of the more modern scripting languages?
    This is not a rhetorical question (or in Slashdot: I am not trolling). I would actually like to know why developers would choose Perl over alternatives today on a new project.
    • Indeed, we may be seeing Perl's reign in certain areas coming to an end. Java, PHP and Ruby have taken over when it comes to developing web apps. The regular expression support of languages like Python, Ruby, and even C# trump that of Perl.

      While Perl was once a great innovator, today it is increasingly becoming a thing of the past. What were once great benefits of Perl have become standard features in many other languages. And unfortunately, Perl has failed to stay a step ahead of the game. The Perl 6 delay
      • "The regular expression support of languages like Python, Ruby, and even C# trump that of Perl."

        BWAHAHAHAHAHAHAHAHAHAhahahahahaha, oh, that's a good one, hahahah, haha. Oh boy.

        *wipes tears off*
        • No, really. Look into the support that C# offers for regular expressions. I'm not a fan nor a user of Microsoft's products, but I will admit that what they've done is top of the game stuff. Same with Python and Ruby. Like stated earlier, Perl was the innovator. And Perl even managed to popularize regular expressions. But these days others have taken over the task of innovation in that field.

          That said, Perl could be preparing for the next wave of innovation. Strangely enough, such "innovation" may be in the
          • by A beautiful mind (821714) on Monday October 17, 2005 @04:47PM (#13812415)
            "Perl was the innovator. And Perl even managed to popularize regular expressions. But these days others have taken over the task of innovation in that field."

            I thought that it's not necessary to make my point stronger, but it seems so.

            Disclaimer: I've seen you posting a couple of times intelligent stuff, i believe this is one of the few mind barfs everyone has when you posted about Perl having worse regexp than the others listed.

            You talk way too generalized, about languages and not in exact, specific things when you're talking about regular expression support in those languages. Mind you, Perl is practically built around regular expressions. 'perldoc perlre' and 'perldoc perlop' should give you a slight idea how it looks like. While maybe C# has regular expression support like for example, sed or even my favorite text editor, vim does, it's nowhere near Perl's support for regular expressions. In Perl, you can use regular expressions almost everywhere, taking full advantages of the Perl additions. Ever wondered why people actively using regular expressions talk about the sed style and Perl style regular expressions? Because Perl added a lot of new/good stuff, mostly which is not duplicated fully elsewhere. In C#, support for regular expressions is nowhere near to Perl. About Python - I've got marginal experience, so i'd rather not judge it, but Ruby isn't built around regular expressions either. Sorry, Perl still is the most regular expression capable language around.

            If you have already taken a look at Perl 6, then you might have seen that the regular expressions are almost completely taken to a new level there, so I'd rather say that Perl will stay _the_ top regular expression language for a while...
      • by Lost+Found (844289) on Monday October 17, 2005 @02:41PM (#13811427)
        On the contrary, the absolutely huge market share Perl has, combined with the 8,000+ modules available freely on CPAN, combined with the fact that well made Perl applications can readily outperform those in any other comparable language, means it's going to be around for a long time. And on the Perl6 subject, when Perl6 is available, it's going to blow the doors off of everyone else for a long time.
        • when Perl6 is available, it's going to blow the doors off of everyone else for a long time

          What features in Perl6 will make your prediction come true?
          • by chromatic (9471) on Monday October 17, 2005 @03:21PM (#13811746) Homepage

            Multi-dispatch, junctions, roles, rules and grammars, a much improved VM, asynchronous IO, working threads, an event system, continuations and coroutines, optional typing and type inferencing, an immensely improved FFI, interoperability with other languages including Perl 5, an improved object system, hyperoperators, unification of blocks and closures, properties, object-like built-ins, improved reflection and introspection, improved consistency, improved clarity, and improved distribution possibilities.

            • I'd say that 80% of those features are catch up. The other 20% are not necessary in other languages because, by their very nature, lend themselves to abuse/misuse. From that list I doubt that Perl 6 will be adopted by anybody but the people who already program in Perl.

              Java, and C# (especially C#), however are truely on the cutting edge and are converting Perl users.

              I mean, seriously, Threading, Events, Reflection, this stuff has been around for over a decade (probably two).
              • Re:Catch-up (Score:2, Insightful)

                by chromatic (9471)

                Java, and C# (especially C#), however are truely on the cutting edge...

                The cutting edge of what, the best technologies the '70s had to offer?

                It's not clear that you understand CPS, continuations, coroutines, properties, language-supported roles, optional type inferencing and strictness, junctions, hyperoperators, rules, grammars, or closure-based control structures. I don't expect to see Java add any of those features in the next ten years. The CLR might add a few in the next five years.

                Have you e

              • You know, flexibility in the freedoms of society leads to abuse/misuse too. Are you ready for your iron chains?
                • D'oh. Attached my reply to the wrong place.
                • No iron chains. But I'll have to admit guard rails on cliffs are nice. Automatic Traction Control is nice. Database row locking is nice. Strongly typed languages are nice. Sure, there are very rare situations when these become a pain. But very very rare.
              • Re:Catch-up (Score:5, Interesting)

                by publius_ovidius (870895) on Monday October 17, 2005 @06:01PM (#13812899) Homepage Journal

                80% catch up? I think your math is off.

                Catch up:

                • multi-dispatch
                • asynchronous IO
                • working threads
                • an event system
                • immensely improved FFI
                • properties
                • object-like built-ins
                • improved reflection and introspection
                • improved consistency
                • improved clarity
                • improved distribution possibilities.

                Revolutionary (items in parentheses explain why some "common" features are included here):

                • an improved object system (revolutionary in its approach)
                • Register-based VM
                • junctions
                • roles
                • rules and grammars
                • continuations and coroutines (not widespread)
                • optional typing and type inferencing (other languages typically don't make this optional)
                • interoperability with other languages including Perl 5 (because of how easy it is)
                • hyperoperators
                • unification of blocks and closures

                (Before you criticize those things I put in the revolutionary list, you'd have to take the time to read up on them and realize why I put them there rather than just assume that I don't know what I'm talking about. I've programmed in many languages and I have a very good idea of what's common and what's not -- though perhaps I'm just smoking crack.)

                Of course, I could make similar comments as yours about Java (I don't know C++ well). Java languished for a long time without regular expressions. Autoboxing in Tiger was an attempt to get around some of the difficulties inherent in typing the container. The latest Dr. Dobb's has an interesting article about functional programming in Java -- something many other programs have allowed for years. Of course, Java still doesn't have closures (that's sooooo 1980's and interfaces were a neat idea which introduced a different set of problems for the ones they solved). Further, Java's decision to type the containers instead of the data means they must focus more on class types than class capabilities, thereby eliminating many of the benefits of allomorphism. And not even get into how ridiculously verbose the language is. I don't play "Perl golf". I take the time to write out clear code. It's still far shorter than equivalent code in Java.

                Mind you, just because I list these issues with Java does not mean that I think it's a bad language. On the contrary: I happen to like Java. I sometimes program in it and just as Perl has some benefits over Java, the reverse is often true. Java and Perl are both crazy but Perl is my type of crazy.

                • Most people won't understand why you put these items under "revolutionary", and in some cases, I don't either, but given as how I'm finally getting back in the saddle and working on S29 again, I suppose I should at least be able to clarify these:
                  • an improved object system (revolutionary in its approach)

                    Well, this one is pretty much accurate. The combination of Java-style interfaces, C++-style MI, and Smalltalk/Ruby-style mix-ins in unified and elegant "Role" system is certainly nothing like what I've come

            • With an attitude like that, I'll bet C++ would really appeal to you, too -- you should definitely check it out! Why wait for Perl 6 when you can start learning C++ today!!! C++ has just as many cool buzzwords as Perl, and it tries to go down even more dead-end paths at once! You'll just love operator overloading and templates, and you'll want to use all its advanced features at once in every program you write! But if you don't have time to learn C++, then why not adapt its best ideas to Perl?

              You'll real

      • What were once great benefits of Perl have become standard features in many other languages.

        If you were talking about Python or Ruby, I could've agreed. But Java, C#, PHP are *DAMN FAR BEHIND* in this respect. I mean, metadata manipulation, built in hash and list data types with appropriate manipulation functions (grep, map etc.) are still "too advanced" features for modern programming languages like C# and Java.
      • PERL is finding its way into many new places like silicon chip design. It is a standard practice to use PERL in verification, verilog build and timing scripts. These designs are real world, complex operation where you need a powerful language to get things done. It is a language that works well and one that you learn on the job and not hyped in school. Imagine how much more popular it would be if there were classes in PERL that could prepare students to learn what they will do on the job instead of lear
      • by truckaxle (883149) *
        The regular expression support of languages like Python, Ruby, and even C# trump that of Perl. And what do you base this comment on - which is stated as fact with no supporting reference or valid points.
      • The regular expression support of languages like Python, Ruby, and even C# trump that of Perl.

        In what way can the regular expression capabilities of any of these languages even approach that of Perl?

        Please put down your crack-pipe and have a look at the perlre man-page and the CPAN archives.
    • A great reason to use perl is you can publish your code GPL and still keep your code secret!

      Perl gives one the ability to write very very obsfucated code. In fact I love perl. Looking at someone else's perl code is even more fun/challenging than solving suduku puzzles!

      Use perl if you don't want anyone, ever, maintaing your code.

      • So I am a troll for being sarcastic. Well thanks very much. Someone pray tell me that what I said above is not true.
    • I would actually like to know why developers would choose Perl over alternatives today on a new project.

      I use Perl if I can reuse existing code and cut down development time significantly (using some CPAN module, or an application framework such as RT).
    • Let me rephrase that question: why would developers chose another language over Perl for a new project?
    • by Anonymous Coward
      CPAN.

      CPAN is the silver bullet. While I prefer other scripting languages (heck, almost *any* scripting language) over Perl, no one comes close to having the sheer amount of instantly-useful code available as Perl boasts with the CPAN. Sure, there's some crap in there, but the wheat outshines the chaff by a wide margin.
    • by photon317 (208409) on Monday October 17, 2005 @02:30PM (#13811338)
      To you and your like minded responders: from the point of view of someone who stays current with perl, your question certainly seems like a troll.

      Perl continues to be a one of the most advanced languages in existance (slashdot jokes about how horribly bad one can shoot oneself in the foot with it notwithstanding). There is every reason to start a new project in Perl today. I'm really not even going to try to run down a list of reasons why here, they're just too numerous. If you haven't given serious professional development in Perl a shot, you're missing out. Perl really doesn't have any equals. Python comes close to being an alternative to Perl where the rules are more strictly enforced (which removes a lot of interesting possibilities), whitespace matters syntactically (and that's just insane in a modern language), and the majority of CPAN is missing.

      Take any paradigm, and method or way of developing, and unique and interesting feature of some other language, and it all can, will, and probably has been done in Perl. It is on some ways the ultimate metalanguage. You want OO? You have your choice of a wide array of completely different styles of OO (both in terms of internals and interfaces), whatever suits your needs. Are you a fan of functional programming ala Haskell? Try Language::Functional ( http://search.cpan.org/~lbrocard/Language-Function al-0.03/Functional.pm [cpan.org] ). TheDamian even wrote a module that allows one to write perl code as correct sentences and paragraphs in proper Latin, even given Latin's lack of defined rules about word ordering. (see: http://search.cpan.org/~dconway/Lingua-Romana-Perl igata-0.50/lib/Lingua/Romana/Perligata.pm [cpan.org] for the module, and http://www.csse.monash.edu.au/~damian/papers/HTML/ Perligata.html [monash.edu.au] for the academic explanation)

      Perl 6 + Parrot I suspect will be even stronger than Perl 5, but only time will tell. Perl 5 will of course be around virtually forever, even with what deficiencies it has.

      BTW, there is recently a great new Perl book out called "Perl Best Practices", which goes about the business of telling you how to not write spaghetti unmaintainable broken perl code (of course, they way you do that isn't much different than how you do it in any other language, which just goes to show that the problem isn't neccesarily that Perl invites good programmers to program badly - the problem is that perl is so accessible and easy that it invites bad programmers to program at all).
      • don't get too excited now :)

        sure perl can doo OO and functional programming (hey, i use it quite often, it's a realy swiss army knife and it runs on pretty much every linux box).

        but if you need to mix OOP, streams and threading (yeah, software like that is really being written too) , then perl just can't cut it. because the current threading implementation attempts just literally **ck and dont provide anything that is fast enough and usable enough (the standard ithreads are not even close, liz's forks are g
        • by Anonymous Coward
          Hi:

          Just a comment on perl and threads - what (functionally) would a perl script need in terms of thread-like multitasking/parallel tasking that the astonishing POE doesn't provide ?

          Actually, tangent to the comment - why doesn't POE get the props it deserves as an AFAIK perl-unique resource ? Most casual perl users don't seem to even know it exists and what it doesn/can do ?

          http://poe.perl.org/?What_POE_Is [perl.org]

          Thanks -
        • My best friend since grade school works for a company that does *hospital* software, in OO perl. It is very stable, very functional, and very quick to update / patch. That is actually where he learned perl could be programmed in OO fashion. He then taught me, and we are currently working on a modular universal perl back-end for developing custom web-pages and web-based applications. OOPerl is very functional, and very simple. Lots of documentation on it online, too.

          Point of this post: perl can cut it
          • you missed my point totally.

            perl (at least until 5.8.x) cant handle mixed oop, streams and threads at the same time. period.

            i did imho very clearly express that perl can do OOP, can do streams, can do even some threading, but mixing all of them doesnt work. 2 ithreads cant mess around 1 i/o stream, which is a kick in the face (if you have ever done some real application programming, you should see where the problems start to raise). and threading without proper i/o support behind it is quite worthless in ma
      • whitespace matters syntactically (and that's just insane in a modern language)

        When will people stop repeating this troll?? Syntactically significant whitespace is a well thought out choice by language designers and there are very good reasons for wanting it. If you don't like it, fine, don't use those languages, but don't start a witch hunt by calling those designers insane.

        The fact of the matter is: whitespace is significant to human readers whether or not it's significant to machine readers, and the

        • And to add a bit of irony, Perl 6 will have its own syntactically significant whitespace. For example:
          print (1+2)+3
          will not be the same as:
          print(1+2) + 3
          (the first prints "6"; the second prints "3" and then adds three to the value returned from the print function)
          • And to add a bit of irony, Perl 6 will have its own syntactically significant whitespace.

            So does almost every phonetically written l an g u age, though it turns out that humans are still better at pattern matching than are computers.

            • The meaning of a program should be clear and unambiguous to the reader, and not require you to do a lot of pattern matching and apply a bunch of rules and heuristics to understand what it means. Most copies of the K&R C manual fall open to the same page: the table of operator precedence. That shows that the skyscraper of precedence rules was a mistake in the design of the language, but Perl takes that idea and runs with it, in many different directions!

              That example of how Perl 6 is fucked is that "p

              • The meaning of a program should be clear and unambiguous to the reader...

                Perhaps the reader should bother to learn the language (or at least consult the error messages) before complaining that it's too difficult to read.

                I can't read Asian pictograms or any Sanskrit-derived languages, but somehow a couple of billion people in the world manage to get by with them.

                • I bothered to learn Perl in 1989, and have been watching it decay ever since. But I've also bothered to learn other languages that are much better than Perl, and I choose to use those instead.

                  So let me get you right: do you actually think it's a good thing that Perl 6 treats "print (1+2)+3" differently than "print(1+2) + 3"? How is that "easier to read"?

                  -Don

              • That example of how Perl 6 is fucked is that "print (1+2)+3" will not be the same as "print(1+2) + 3".

                I'm surprised nobody pointed out to you that this is incorrect.

    • The CPAN modules available make writing a complex script possible on a short deadline. Try, in an afternoon, with PHP, to write a script to read from an email box to get an excel attachment whose contents you use to create a midi file.

      (Perl is also useful for parsing posts like this.)
    • Perl is a modern scripting language. Just because it's not "fresh" or has a fancy marketing scheme doesn't take away from its power & greatness. A lot of the newer/Web2.0 stuff is simply javascript on top of existing web services, which can be written in anything, including Perl. I guess the bottom line is that it's a great language and I enjoy writing my web applications in it because I know it so well and it's not limiting at all.
    • Dear Perl letter (Score:4, Interesting)

      by Colonel Panic (15235) on Monday October 17, 2005 @03:26PM (#13811784)
      Dear Perl,

      Look, I know that we were an item for quite a few years.

      You were my one and only. My true love.
      But I've gotta admit, when I saw your younger sister Ruby a few years back... well, I thought she was hot. But of course, she was too young then so I stayed away from her.

      Now, more recently I have to confess that I went out with Ruby for a few dates and believe me, she is plenty mature now!
      Not only that but her library seems somehow more complete than yours and certainly better organized. And her object oriented features - OO la la! Look, you're a great gal, but you're certainly not anywhere near as well endowed in THAT department.

      And now that Ruby's got transportation (ok, so she likes to ride the rails) we're really getting around.

      So, dear Perl, I have to tell you that it's over between you and me. From now on it's me and Ruby.
      Please don't take it too hard. Maybe you'll find someone else after you're makeover.

      John
      • That was disturbing on a number of levels...
    • Other than for products (or news aggregating websites) that were originally coded by smart people having fun, is there any reason to start a project today in a fun and powerful language instead of any of the more boring scripting languages?
      This is not a rhetorical question (or in Slashdot: I am not trolling). I would actually like to know why developers would choose having fun over alternatives today on a new project. :-)
    • by publius_ovidius (870895) on Monday October 17, 2005 @03:48PM (#13811962) Homepage Journal

      As one of the people who was elected to the steering committee, I don't mind taking a poke at this question.

      Many of the complaints about Perl stem from the fact that Perl was a pioneer in getting "dynamically" typed languages before the public eye. It certainly wasn't the first (was LISP the first major one?), but it has been the largest. Unfortunately, because Perl has been blazing a trail it's had many years of going down promising paths only to find them dead ends (pseudo-hashes anyone?). Languages such as Python and Ruby have been happily running down this path and ignoring the trails they already know to lead to oblivion.

      This suggests an obvious question: what's wrong with Perl? Well, there's plenty wrong with Perl that I can point out, but interestingly, I've discovered that the complaints which Perl experts have are radically different from the complaints that casual Perl users have (amusingly, many folks who criticize Perl couldn't tell simple Perl and PHP snippets apart).

      Just as I have serious complaints with Perl, those who are experts in Ruby and Python probably have serious problems with those languages which do not mirror my own objections. Python, for example, is eliminating the badly implemented lambda function and getting rid of all hope for closures (feel free to correct me if I'm wrong). Ruby has mixins in lieue of multiple inheritance and traded one set of problems for another (trait composition seems to offer the best of both worlds but it hasn't caught on yet). However, those complaints probably reflect my imperfect understanding of those languages and I strongly suspect that those using these languages have other fish to fry.

      A big problem with Perl is that it's being taught incorrectly. Few teaching materials really focus on the linguistic basis of the language. Once you really, really understand the linguistic basis, the difference my $foo = ... and my ($foo) = ... becomes second nature. The idea of "topics" and "topicalizers", though more explicitly stated in Perl 6, are also quite important but not taught well. It's quite natural, but it's such an unusual feature for programming languages that those who come to Perl who pick up the language in a haphazard manner get annoyed at the seeming fickleness of the language even though many of these behaviors are quite predictable if you understand the linguistic underpinnings. That's not to say there aren't quite a few quirks in the language whose behavior is not predictable, but many languages suffer strange quirks and are still widely used.

      People complain about Perl's "line noise" characteristics and unmaintainable programs and ignore that much of this stems from heavy regular expression use (yell at regexes, not Perl) and people without a strong programming background finding the language easy to use (yell at those people, not at their tool). Professional programmers who use Perl often build large, robust systems in a fraction of of the time that developers in Java or C++ would. Of course, good programmers are implementing robust test suites, automatic builds and other tools to catch them when the fall.

      When all is said and done, were it not for Perl 6, I'd probably start using Ruby. I have really enjoyed Ruby the few times I used it but it had such limited use (prior to Rails) that I didn't want to jump ship.

      • by King Babar (19862) on Monday October 17, 2005 @04:45PM (#13812403) Homepage
        This suggests an obvious question: what's wrong with Perl? Well, there's plenty wrong with Perl that I can point out, but interestingly, I've discovered that the complaints which Perl experts have are radically different from the complaints that casual Perl users have (amusingly, many folks who criticize Perl couldn't tell simple Perl and PHP snippets apart).

        What you say is true, but misses a major, major point. Perl right now has a pretty horrible reputation in some quarters, and even though it might be the result of kvetching from a lot of uninformed people, pointing this out is not a solution to the problem. More than a couple of political campaigns have gone down in flames when candidates made no useful response to baseless negative campaigning. Right now, I'm finally getting more excited by Perl6 now that there looks like there will be one, but we're still realistically looking at January 2007 for that, which is about seven years after the effort started.

        Given the comment at the very end of your post about Ruby, you realize the kind of mortal peril that Perl finds itself in. If Matz had not been Japanese, and therefore more of the Ruby docs had been available in English maybe 3 years earlier, Perl could have ended up stone cold dead. What the new leadership has got to keep in mind is very simple: if we don't finish Perl6 *right now*, we're all going to die. This was not the only way to have done things, but so much has been invested in Perl6 for so long that there is really no way to make Perl5 better in ways that will convince people that it isn't last year's language. If only a bit more thought had gone into Perl5 these last five years or so, we'd be in better shape right now.

        But I have one more point to make, while I'm on the soap box:

        People complain about Perl's "line noise" characteristics and unmaintainable programs and ignore that much of this stems from heavy regular expression use (yell at regexes, not Perl) and people without a strong programming background finding the language easy to use (yell at those people, not at their tool).

        That's not completely true. Like it or not, every Perl variable name has a piece of line noise attached to it that 90% of the time clarifies nothing. For that matter, there is the madness surrounding lexical variables in Perl. Using them is good programming practice, but every declaration of such a thing adds another "my" to the list. It would have been SO EASY to define a flag or a pragma noting that all of the declarations in a file were implicitly of "my" variables, but this never happened. And then there is the fiasco of function argument declarations. As in: Perl, unique among all other scripting languages doesn't yet have useful parameter lists in function definitions Every time I type somehing like my ($foo, bar, $baz) = @_; I think to myself "lame lame lame". Sure, Perl6 solves this one quite handily, and gives eleventy-seven different ways to call and declare function parameters, but Yeesh! Did we really have to wait for the One Great Perl to arrive to get something that sucks less than Javascript 1.0 in this respect?

        I have been a Perl programmer for 14 years now, and I think the world of what it can do. But I am telling you this: if we don't fix Perl, we will die. The seven lean years will kill us unless we make it completely obvious to people how superior Perl6 is, and unless we make sure that it really is out there to hack with. If betas of Perl 6 don't arrive before the middle of 2006, I swear we are doomed. Please do everything in your power to make sure this doen't happen.

        Thanks for listening. :-)

        • It would have been SO EASY to define a flag or a pragma noting that all of the declarations in a file were implicitly of "my" variables, but this never happened.

          How do you identify declarations without some sort of declaration identifier? Is it a typo or is it a new declaration? Other dynamic languages without a use strict 'vars'; equivalent suffer this problem.

          But I am telling you this: if we don't fix Perl, we will die.

          (Emphasis mine.) I look forward to your contributions of time, money, code

          • (Emphasis mine.) I look forward to your contributions of time, money, code, documentation, ideas, evangelism, testing, support, and praise.

            I already did contribute the money. Twice. Nothing much happened (this was 3-4 years ago), so I got discouraged. To be brutally honest, right now Perl needs fewer ideas (they should junk Parrot TODAY if it is slowing anything else down) and less praise. The thing that must be communicated is this: if we don't have a beta by summer 2006, we are _dead_. Pugs has

        • by publius_ovidius (870895) on Monday October 17, 2005 @05:20PM (#13812658) Homepage Journal

          I do agree that pointing out how invalid some criticisms of Perl are does not solve the perception problem. We're trying to figure out a good strategy to deal with this and suggestions are always welcome.

          As in: Perl, unique among all other scripting languages doesn't yet have useful parameter lists in function definitions Every time I type somehing like my ($foo, bar, $baz) = @_; I think to myself "lame lame lame".

          And later you wrote: I have been a Perl programmer for 14 years now ...

          I sometimes hear the criticism about Perl's argument handling, but I don't hear that as much as the line noise issue. The fact that you've been a Perl programmer for 14 years means that you are probably more keenly aware of this than most. I've released a module named Sub::Signatures [cpan.org] which helps to deal with this (and allows multi-(?:method|function) dispatching (MMD) based on the number of arguments) but because it's a source filter, people are afraid to try it. Frankly, given the reputation of source filters, I can't say I blame them.

          In any event, this criticism is perfectly valid and it's one of my strongest complaints about the language. It's inherently tied to the MMD issue so the latter cannot be resolved easily without the former. Another major issue is lack of encapsulation in standard object creation. Class::Std [cpan.org] helps to minimize the problem, but it has problems running under persistent environments such as mod_perl, thus limiting its usefulness in the sort of environment which is designed to scale and thus truly needs that encapsulation. These issues combined with a lack of proper introspection capabilities are my strongest complaints. Solving them would go a long way to making Perl a truly robust language.

          These issues aside, I specialize in building huge systems in Perl. I have worked on systems that tell Hollywood how much money their movies make while collecting and collating data from thousands of movie theaters across the USA. I currently work on software used by little-known companies such as the Rand Corporation, the World Health Organization and the Congressionally funded Radio Free Asia (they use my employer's software to publish their Web site in 10 different languages). The major requirement for building large systems such as these is having a robust test suite. Given the latter requirement, you can achieve powerful scalability with just about any language capable of it. Fortunately, because I choose to use Perl, I can roll out solid, robust code much faster than Java or C++ programmers. I have some amusing stories about destroying competitors using those languages because they couldn't keep up with our speed of development but NDAs compel me to keep quite :(

          As for Parrot and Perl 6, they solve these problems and many more. However, Parrot is revolutionary in its approach and given that that we are a volunteer organization, it is difficult to get qualified full-time developers to solve truly unique problems. Fortunately, we're finally getting there. Perl 6 is worth the wait but those who haven't been following it closely (and perhaps those who have been following it too closely :) are getting frustrated. I don't blame them, but we don't have a huge staff on hand to crank this stuff out the door.

          Patches welcome :)

          • Does Class::Std really have problems under mod_perl? Is that under Apache 2 or 1.3.x? That would be too bad. Class::Std really does address so much of what Perl 5 doesn't do for encapsulation. It looks, probably not coincidentally, that some of its thinking is reflected in Perl 6 design (like painless creation of accessor methods).

            Are there other ways of accomplishing the same thing using inside-out objects without Class::Std? I'm not easily guessing exactly where the problem lies - though I suppose the o

        • it would have been SO EASY to define a flag or a pragma noting that all of the declarations in a file were implicitly of "my" variables

          Erm.. thats the default, of course then you have effectively global variables which is a bad thing.

          every Perl variable name has a piece of line noise attached to it that 90% of the time clarifies nothing.

          Erm... $variable is a scalar @variable is an array and %variable is a hash. That clarifies nothing to you?
          Are you really a perl programmer, you sound like a VB coder who nev

      • Ian Bicking [ianbicking.org] weighs in on the relative relative power of Ruby and Python, and makes some interesting observations about "Parrot":

        I think Ruby on the Parrot VM works better than Python. But, AFAIK, no real language runs on Parrot at this point (even Perl, for which Parrot was written), it's all experiments. I honestly want Parrot to succede; it's currently the only real effort at a community-driven VM, and the only VM written specifically for dynamic languages. But for some reason they can't get their ac

        • Dead in the water? Parrot is being actively developed, has part of its development being funded by NLNet [nlnet.nl], and has made great strides in showing the power of a register-based virtual machine vis-a-vis a stack-based virtual machine. Further, instead of just being a "Perl only" sort of thing, tons of developers in many languages have become excited about what Parrot can do for them and we have active developers coming in from other languages to help out given how excited they are about this. Of course, as t

          • Guile (Score:3, Informative)

            by SimHacker (180785) *

            The Gnu kernel is being actively developed, and has bla bla bla...

            Why aren't you just extending Guile, which has been declared the official GNU scripting langauge by none other than RMS himself.

            Tom Lord [gnu.org] discusses the history of Guile, in the context of the great TCL war, which happened just before Java came onto the scene.

            Ian Bicking [python.org] discusses some of the reasons why Guile failed to gain any traction.

            -Don

            • Nice job changing the subject. I see you really don't have much to say. My apologies for wasting your time.

              • Bad job avoiding the point. Read the post by Ian Bicking [python.org] discussing how Guile relates to Parrot.

                Those who ignore history are bla bla bla...

                -Don

                • Re:Guile (Score:3, Informative)

                  If you read through your post, you see that you talked about Guile a few times and gave no indication that in clicking a link apparently about Guile that I might, just might, have gleaned a bit of insight about why you object to Parrot. If you have bothered to say up front "hey, this has info relevant to my Parrot objections", I would have clicked the link.

                  Of course, the main points of that link were lack of developer effort (Parrot has tons of devopers compared to Guile though I confess we don't have en

                • You wouldn't think I was changing the subject if you bothered to read the articles I pointed to. There's some really important stuff in there that I think you should know, otherwise you're going to re-discover it all the hard way, when you're up the creek without a paddle. Don't think Parrot is the first time somebody's tried something like that. Guile started with a much more coherent language (Scheme) than Parrot is saddled with (Perl), and Guile didn't succeed for many of the same reasons that Parrot wi

            • Why aren't you just extending Guile, which has been declared the official GNU scripting langauge by none other than RMS himself.

              Why don't you go discuss Guile with the large development community around it instead of trolling discussions about other languages?

              Oh, sorry, there are no other people. (-: Everyone left the Guile community after you started advocating it? :-)

              When you look at the previous posts by you, you look quite serious. Here you seem to do trolls about language design choices (spac

    • by consumer (9588) on Monday October 17, 2005 @04:02PM (#13812081)
      ...is there any reason to start a project today in Perl instead of any of the more modern scripting languages?

      Apparently Amazon thinks so. They started using Perl for their new web development a couple of years ago.

      • Ok, but you might assume at this point they are committed. The question is would they make the same bad decision today?
        • They made this decision quite recently. Anyway, you clearly have already made up your mind and have no interest in actually talking about it.
          • The OP claimed the decision was made two years ago, an enormous amount of time when you consider what has been going on in ruby/python in that timespan.

            But my post was mostly intended to be a +1 funny, I don't really hate perl or anything. I've used it for a few small projects, it's fine. I'm comfortable with enough languages that at this point I prefer to just work with whatever has the best dev environment. At the moment that's java with idea, but i'd be happy enough to switch to perl if it had a super
  • Through "design"? (Score:4, Interesting)

    by MosesJones (55544) on Monday October 17, 2005 @01:48PM (#13811001) Homepage

    I know this is a cheap shot but its an important one. On the site (excluding Perl 6)there are THREE [google.co.uk] references to design, none of these are about how you actually should go about designing in perl and what is good practice for design of Perl programmes.

    For the Perl foundation to REALLY help its users out there it might want to promote more DESIGN and less CODE as a better way to approach Perl programming. I've wasted enough time debugging (and mainly binning) badly constructed Perl code, it would be great if the foundation addressed the issues of implementation (lack of design) rather than more bells and whistles for the inept to use.

    • Re:Through "design"? (Score:3, Interesting)

      by slavemowgli (585321)
      Perl just gives you enough rope to hang yourself with - the fact that you *do* choose to hang yourself is not the language's fault. :) In fact, given the fact that Perl is supposed to make easy things easy and hard things possible, forcing a certain programming style upon its users would run contrary to the language's goals - specifically, it would run contrary to the "make the easy things easy" part.

      That being said, if you want to learn about how to design Perl programs, why not pick up a copy of Perl Best
      • Bah. Perl gives you enough rope to hang yourself, your dog, your parents, Bill Gates, and enough left over for some kinky japanese bondage with your girlfriend.

        But when your perl-fu is strong, you can rope yourself an elephant without getting scratched.
    • Re:Through "design"? (Score:3, Interesting)

      by photon317 (208409)

      The primary purpose of The Perl Foundation, IMHO, is to pick up cash and give it out to appropriate people so they can eat and sleep in peace while they make Perl better. Some of the most insanely talented Perl developers (as in developers of perl itself and the core modules in it, rather than users of perl) get some cash through this foundation, and they're the ones making the design-related decisions.
    • I've wasted enough time debugging (and mainly binning) badly constructed Perl code, it would be great if the foundation addressed the issues of implementation (lack of design) rather than more bells and whistles for the inept to use.

      The same can be said for any language. Don't blame the language or the foundation that supports its development - blame the dumbass programer.
    • More code readily available LOCALLY (not via D/L) would be nice. With the exception of old RedHat "Power Tools" kit, I have not seen any ISO images of Perl code or a way to CVS anapshot all the latest code.

      It would be very nice to have a local repository of perl code available, without having to get out on the internet to D/L it a chunk at a time. Not everyone who uses perl has a full-time broadband connection.
       
  • I actually had the privilege of meeting Allison, she is just a wonderfull person :) ... and I've got a nice "Programming Perl" signed by her too ;) miss you Allison
  • by Kirby (19886) on Monday October 17, 2005 @05:13PM (#13812606) Homepage
    Of course, any time a slashdot article talks about a programming language, there's a concerted effort by the language's detractors to say things like, "Does any one still use Perl?" "C++, isn't that a dead language with C# and Java taking its place?" "Java's just marketing hype, and C# doubly so, nothing beats C." and so on forever.

    But of course we do this. As programmers, winning the language evangelism wars is one of the few things that really matters. And by matters, I mean it affects how much money I make.

    I'm a good Perl programmer. I'm a novice at several other languages. I could pick them up, but it'll take years before I'm as proficient in anything else as I am in Perl. The same is true for most programmers after they pass the five year mark or so.

    So, if the VP of an up and coming company chooses Java, I'm very unlikely to work there. If they choose Perl, I might. And it increases demand for Perl programmers. It's nothing but good for me if there's more options available when the day comes for me to change employers. And so, I have a vested interest in people believing Perl is faster to develop in and easier to maintain than Java or C#.

    And so, don't believe me. And don't believe anyone else either who is detracting. It's in their interest to see people start projects in their language of choice. There's very little impartiality here.

    Instead, ask yourself: does this language do the job? Is the development time acceptable? Is the performance acceptable?

    I think Perl is very hard to beat on development time, and very few people need the performance of C or assembly - but I've just told you that I have invested a lot of time in becoming an experienced Perl programmer, so I want you to believe Perl is the tool to use. I don't think I've attached myself to a bad language, and I think it'll really win a fair fight quite often, but the court of public opinion (especially Slashdot Comments) is just such a terrible place to form technical opinions.

    • any time a slashdot article talks about a programming language, there's a concerted effort by the language's detractors to say things like, [...] But of course we do this.

      I like Perl and I agree with you -- it is one of the best tools around, for quite a lot of problems.

      I do language evangelism, but I really won't sink so low that I go around trolling discussions of other languages. I am not that much of a pathetic asshole that I sell my intellectual integrity for the possibility of money.

      (-: I ha

With all the fancy scientists in the world, why can't they just once build a nuclear balm?

Working...