Perl, Python and noo perl
resolve at repose.cx
Fri Apr 5 00:54:58 EST 2002
Jeremy <jepri at webone.com.au> writes:
> There was just a big fight on perlmonks.org caused by one of the senior members
> converting to python and then trolling. If you do a search for python at
> perlmonks then you will see lots of good ( and a few not so good )
I hope this wasn't regarded as trolling. I do think perl is interesting
(especially as an exploration of a computer language a bit like a real language
in that everything can be expressed in numerous different forms)
> As for the hard to follow - that does seem to encourage good documentation.
Perl's docs are generally very good - but if burried deep within the perldoc pages
for some function foo(), it describes that the behavior will be altered if the
sun happens to be at a certain angle perpendicular to the system timer - well,
great docs don't stop confusion there.
>> Now part of its brevity appeals to me - I like being able to express
>> something in the way which seems most logical to me, and to do it quickly.
>> But marvelling at perl code which could only be described as "magic" is a
>> lot different to maintaining it.
> Interestingly the perl community seems to be moving away from the 'magic' and
> towards the slightly longer and more boring. What really tweaks my interest is
> that this is happening voluntarily - not being forced by rules in the compiler,
> as written by the inner circle.
This is inarguably a good thing that they are moving towards easier to grok
code. I'm not necessarily of the opinion style should be enforced, and I
remember being somewhat appauled by the idea when looking at python. It
definitely grew on me, but there a few limitations which sometimes feel
excessive. Unfortunately the more arcane ways of accomplishing a task there is,
the more instances of hard to understand code will crop up, as people exercise
their ego or their desire to be obtuse.
>> quick solution to something). But I found wrestling with the more esoteric
>> syntax when following multiple references in complex data structures to be
> Perl's data structures are insane, but intruiging. There's a twisted logic
> there, after a fashion.
OOP in perl was always a hack. It's not bad from a client perspective, but
writing OOP libraries was way more complicated than it should have been.
>> frustrating when I first started out. Perl6 promises to fix this with
>> implicit dereferencing, but there's a number of sacrifices which have had to
>> be made to graft it on to the existing solution - and let's just say it's
>> not elegant.
> I assume you're talking about perl4 -> perl5. Perl6 jettisons absolutely all
> of the perl5 code and most of the old syntax. There will be a backwards
> compatibility module, but "what perl5 does" has little relevance on perl6.
> There's a new compiler, and a new interpreter, so there's little incentive to
> keep anything that doesn't work really well.
> Implicit deferencing worries me now, but I guess I'll learn to like it.
I must admit I am looking forward to Perl6, as I'm interested in how it will
perform. Throwing compatibility out the window allows them to remove some major
>> I heartly recommend it for people who are interested in learning a new
>> language or expanding their horizons.
> I'm not sure about the new programmers thing. Perl seems to be a refuge for
> jaded programmers who claim that perl grates less than other languages. Perl
> just seems to scare the nerd out of neophytes.
> Perl can be a delightful mix of OO, functional and procedural styles, but it
> probably helps if you have been exposed to the pure forms first.
The presense of all three is certainly a good thing. I wouldn't use the word
delightful in such close proximity to OO when talking about perl though; hopefully
Perl6 will improve upon that (I haven't been tracking what they plan to do with OOP).
Perl6 still has a while to go, however, and perl in its current incarnation is
a terrible hack. An impressive, useful hack - but a hack none the less. I think
I'll wait until Perl6 before resuming using it for fun.
More information about the linux