4 ms·
I loved perl for a long time before I started using python and, quite frankly, I don't intend nor see the need for ever having to use perl again. I respect perl
by gcheong 17y ago
I loved perl for a long time before I started using python and, quite frankly, I don't intend nor see the need for ever having to use perl again. I respect perl for what it is and what it has enabled me to do, but when better tools come along I don't hesitate to move on.
- windsurfer 17y agoPerl6 would make you love Perl for being a better tool again ^_^ It has all the features python has over Perl5, except for the syntactical whitespace strictness. And that's totally subjective.
- Estragon 17y agoPython has a killer feature by comparison, actually. It has a living, widely used implementation.
- deleted 17y ago[deleted]
- pwmanagerdied 17y agoHe was comparing with Perl6, I think.
- storborg 17y agoI think he means that Perl 6 doesn't have a living, widely used implementation. The point is that since Perl 6 is relatively less mature, it would be more valid to compare Python 2.* to Perl 5, and Python 3k to Perl 6.
- paulbaumgart 17y agoBut the difference between Perl 5 and Perl 6 is much more significant than Python 2 and Python 3k.
- deleted 17y ago[deleted]
- bartl 17y agoWhich one, Python 2.x, or Python 3000?
- jrockway 17y agoAnd several faster but less-complete implementations; PyPy, Unladen Swallow, Psyco, etc. Wow, just like Perl 6.
- mst 17y agoSo does Perl5. And with a little help from CPAN, the same feature set. In fact, I'd argue that the Moose metaprotocol is substantially more powerful than the one available in python - though if there's a python library that provides the same sort of level of capabilities, I'd love to hear about it - maybe we can steal some good ideas from them :)
- j_king 17y agoMoose is far more powerful than Python's model. Python seems to think it knows what's best for the programmer. Perl tends to think the programmer knows what's best for it. AFAIK there are no packages for Python yet that implement roles, multi-methods, and the like... yet. But Perl is already ahead of the curve in this arena. (I'm one of the rare few apparently who can speak Python and Perl fluently. I actually like both languages for entirely different reasons.)
- tomjen2 17y agoIs Perl6 backward compatible? Because what I really hate about perl is how you end up changing how it works by assigning to a variable named something like $@_, or dozens of similarly non-obviously named variables. In the mean time, I guess I will just stick to ruby.
- ube 17y agoForgive my cynicism but when exactly is Perl 6 coming out? Python 3 is already out and it was a concerted effort to clean the things that began to pollute the language. Perl 6 is supposedly doing the same thing...but the need to throw everything out makes its delivery rather questionable...I think our sun may become a red giant before Perl 6 shows up.
- mst 17y agoI'm a Perl5 programmer so I don't really care (though the Rakudo implementation of Perl6 should be at least worth a test drive sometime next year from what I hear from the other camp). v12 of the runtime for -my- language of choice should be out in the next couple of months, complete with pluggable keyword support blessed in core and a whole bunch of other goodies. And Perl5 is being cleaned up over time - strict and warnings going on by default if you ask for a new enough version of the VM, old and weird misfeatures going through deprecation cycles, etc. Perl5 and Perl6 are two different languages from the same family, not a "next version" and "previous version" like python is - the confusing naming is a historical accident from before Larry turned Perl5 over to its community and we got the chance to pick up development again.
- chromatic 17y ago> ... when exactly is Perl 6 coming out? Rakudo releases a new version on third Thursday of every month, as it has since December 2007.
- viraptor 17y agoWhich does not mean it's complete in any way - they simply release what they've got at that point: http://rakudo.org/status http://rakudo.org/status "Common things that are known to have problems or not work in Rakudo (As of 2009-02-28.)" list contains "variables in regexes". It doesn't really matter how often they release in that case... That's "as of february this year" and still open in november.
- chromatic 17y ago> Which does not mean it's complete in any way.... No one claimed otherwise. Perl 5 is 15 years old and still not "complete".
- mst 17y agoThis thread was about Perl5. Perl6 is a separate language in the same family and not relevant to this conversation. Of course, Perl5 now has most of the interesting features of Perl6 anyway, given things like MooseX::Declare - to the point where we're currently helping the Perl6 community steal things back from Perl5 based on our experience using the additional capabilities in production (i.e. "thanks Perl6 for letting us steal stuff, here's how it works out in the real world" - the Open Source way :)
- jrockway 17y agoPython is better than Perl because it runs slower, and has fewer features and third-party libraries?
- paulbaumgart 17y agoPython produces more readable code, in my opinion, mostly because the sigils in Perl are too easy to get wrong. Also, the lack of some language features factors into this, too. Speed-wise they seem to be pretty much a toss-up, at least for these benchmarks: http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=perl&lang2=python&box=1 http://shootout.alioth.debian.org/u32q/benchmark.php?test=al... Admittedly I have much more experience with Python than Perl, which certainly factors into my "readability" assessment. But, thinking back, I definitely felt a lot happier about the first Python script I wrote vs. my first one in Perl. Agreed on the 3rd-party libraries. Perl's pretty hard to beat there- although I don't think there's a Perl equivalent to scipy/numpy, is there?
- jrockway 17y agoProgrammers produce code, not languages. I think Python makes it hard to write readable code, because it forces unnatural constraints around your programming. If you want a two-line anonymous function; too bad -- you have to give it a name. If you think a closure would make more sense than a named class with named fields; too bad -- that's not supported. With Python, you get a lot of code that looks the same. And that's good when the code that looks the same does the same thing. But if it's doing something different, you might miss the difference if all the code looks the same. (The argument against TMTOWTDI is that similar things will look different, and that's bad. But the problem is that different things will look similar too, and that's also bad. It's simply a Property Of The Universe that There Is More Than One Way To Do It, and pretending that there's not is a fool's errand.)
- Tichy 17y agoMy impression from using a little Python recently is that it could nicely be replaced by JavaScript. Both seem to have a similar amount of convenience syntax (just in different areas), but JS is more flexible.