in reply to Re: What does "overdesigned" mean?
in thread OT? Pragmatic Perl

There's some merit to the idea that Perl 1-4 was the first system, Perl 5 is the second, and Perl 6 will be the third.

Replies are listed 'Best First'.
Re^3: What does "overdesigned" mean?
by punkish (Priest) on Sep 25, 2004 at 16:48 UTC
    I know nothing about Perl 1-4 since I started learning it from v 5.6.x onward. That said, and from what I have learned about and from Perl, from many of you wise monks, and from reading various off the Wall comments, Perl is closely tied to natural language principles. An odd thing, if you ask me, because Perl is not a natural language. I have never yet said --
    pass(my $potatoes) while ("I am hungry");
    Still, Perl is good, and, as a result, messy. Apparently not clean and elegant like Python, or taciturn like C. But I like that different things look different ($, @, %). I have seen so much of PHP code where variables are named --
    $fruits; $arFruits; $hsFruits;
    So much easier to just acknowledge that different things should look different.

    My point is, Perl is messy and inelegant (by several definitions), but that is a part of the design. It has been thought out deeply, it has been designed a lot ("overdesigned" has a negative connotation). And by that virtue, it is very elegant at solving problems. I work with a couple of other programming languages and I despair making the simplest constructs in them that would be one-liners in Perl.

    It is really hard to make something do a job well. Perl is like grease... messy and gooey, but it best lubricates mental as well as computing thought processes.

    Dare I say that if Perl 5 is the "second system", it actually disproves the second-system effect?

    Update: Made trivial mods to make the post more readable.