Kirrily Robert has created the first draft of a document listing the perceived problems with Perl 5. This will (eventually) mutate into a requirements spec for Perl 6 and as such will be of interest to many monks. You can find the document in a number of formats at:

Replies are listed 'Best First'.
RE: What's Wrong With Perl?
by tye (Sage) on Jul 31, 2000 at 19:51 UTC

    My two strongest reactions are:

    1. Please, please, please don't put in a "real" garbage collector. The two arguments seem to be improved performance and circular references. Yet, the research on garbage collection, right after it states that "mark and sweep" is more efficient, notes that users of "mark and sweep" can spend most of their time collecting garbage. I don't find circular references to be much of a problem (at least 98% of the complaints I've seen about lack of memory in Perl did not involve circular references). I already hear a lot more complaints about non-timely destructor activation than about circular references. The non-deterministic and very delayed activation of destructors plus the periodic load fluctuation of a "real" garbage collector will create orders of magnitide more complaints than the current overhead and circular reference "problems" have.
    2. Many of the goals seem far from realistic. In particular, they start by stating that the core needs to be shrunk, requesting that lots of core stuff be moved out into separate modules (and mention a few simple items that can be move out) and then half of the remaining suggestions involve complex items that need to be handled by the core, some of which are currently handled rather nicely by modules.

    It sounds like they are trying to please everyone, trying to make Perl perfect for all environments and all problems. This, of course, is impossible. This doesn't sound like Perl 6, this sounds like Sperl, some other language losely based on Perl.

    I think they will be forced to mostly drop most of those suggestions (I hope they will realize this fairly early in the process). So my biggest worry is that Perl 6 will be saddled with garbage collection.

      I sympathize (really!!) with your skepticism about mark-and-sweep GC for Perl.

      However, as an internals hacker, I have to say that the final, absolute end of memory leaks is worth a high price. Just think of all the programmer time that can be spent on more useful pursuits than memory bookkeeping!

      Besides, with the current RC implementation, you just aren't noticing all the CPU time drained away by all those inc's and dec's and jz's required to keep ref counts more or less in line with reality.

          -- Chip Salzenberg, Free-Floating Agent of Chaos

        And I like not noticing. Even if my code ran a little faster overall with mark-and-sweep GC, I'd rather have the consistancy of performance provided by RC. Now, if my code ran 10-times faster (or even 3-times faster) with GC, I'd put up with moderate burstiness. But Lisp programs spend 25% to 40% of their time doing GC. Are you really claiming that RC overhead is anywhere near that high?? Or is the nature of Perl that GC in it will be tons more efficient than it is in Lisp?

        Are you implying that it will be easier to implement a correct version of GC than of RC? The research says that RC is easier to implement. Sure, we run into bugs in Perl's RC, especially when we extend a large, old code base in ways not originally envisioned. You propose that we won't run into any bugs in GC??

        A question: Does mark-and-sweep even preserve destruction order? It doesn't sound like it but I've only read high-level descriptions

RE: What's Wrong With Perl?
by BlaisePascal (Monk) on Jul 31, 2000 at 21:23 UTC
    One of the things which the perl6 mailing lists are doing is brainstorming "what is wrong with perl 5" -- this first draft by Kirrily Robert is (as I see it) pretty much a reflection of that brainstorming. Definately, not all of them will make it into Perl6, and all of them will end up being hashed and rehashed on the various perl6 mailing lists before being dumped into it. These items are already being commented on on the perl6 bootstrap list (it will be nice when the other lists exist), so this list is definately not cut in stone.
RE: What's Wrong With Perl?
by larsen (Parson) on Aug 02, 2000 at 14:38 UTC
    I've tried to view this document but the server was not responding: is there an alternative URL?
    Thank you
    Larsen
RE: What's Wrong With Perl?
by princepawn (Parson) on Aug 01, 2000 at 16:46 UTC
    The main thing I dont like about Perl5 is that the POD are removed and then the file lines are enumerated. This means when Perl says 'error at line 55' it really means an error a line 55 not relative to the way the file is in your editor with POD, but line 55 after I stripped out the POD. This can be very confusing The above link at infotrope.net doesnt for me 8:43 am EST August 1, 2000