11 ms·
Perl: Love it, or hate it, but don't ignore it
- gcheong 17y agoI 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.
- grayrest 17y agoI'd pay more attention to those frameworks if you'd say why they're interesting. I consider python/ruby/perl to be sibling languages. You only really need to know one as your primary language and then steal ideas from the other two. Node is interesting because it solves a problem: efficient long polling setup in a language I know. Why Ruby over Perl then? The ruby peoples have great taste in designing mini languages: e.g. sass is amazing in a why-couldn't-I-think-of-that way so I pay attention to them. The best thing I know of coming out of the Perl community is the people (Michael Bayer is my hacking hero for SQLAlchemy).
- mst 17y agoSQLAlchemy's nice - wherever DBIx::Class and SQLAlchemy developers are gathered at the same conference, there will be beer, and there will probably be cursing other ORMs for not understanding what a database in. Later in the night, somebody will say "we should all use ActiveRecord instead - because it unlocks all the power of MyISAM on MySQL 3.23" and then we'll giggle incoherently for a few minutes before getting another round of drinks in. SASS is absolutely beautiful. I think Perl5 with Devel::Declare is a better internal DSL host than ruby though - consider MooseX::Declare - you simply can't bend the ruby compiler sufficiently to do something like that to my knowledge (or Piers Cawley and others wouldn't have moved from ruby back to Perl5, I don't think ...)
- zephjc 17y agoWhy? I've been happily ignoring it for the last 10 years, and I think I can continue to do so ;)
- jrockway 17y agoThat's why your Language Of Choice is missing many of Perl's features. But hey, at least it has a lot of smugness. (Smugness solves 0% of my programming problems, but at least I feel good about not solving them.)
- zephjc 17y agoI use Python, and the only thing missing from it is ugliness.
- mst 17y agoYou can. But the past decade has produced huge improvements. I've been happily not using python for 10 years but I keep an eye on the state of the art because they regularly come up with interesting ideas that hadn't occurred to me. Of course, equally, there are lots of other fascinating places to spend your learning time - but discounting a language based on your knowledge of it a decade ago isn't something I'd consider a great idea, in general.
- seldo 17y agoI hate it, and am happy to continue hating it. Cheers!
- mhansen 17y agoJust adding another data point: Steve Yegge's essay [http://steve.yegge.googlepages.com/ancient-languages-perl http://steve.yegge.googlepages.com/ancient-languages-perl] scared me off trying Perl.
- garnet7 17y agoHeh. Some other fun "anti-Perl" stuff: [the Python xkcd comic](http://xkcd.com/353/ http://xkcd.com/353/) and the [ESR rant](http://www.python.org/about/success/esr/ http://www.python.org/about/success/esr/). That said, another satisfied Perl user here. :)
- chromatic 17y agoThat's a real pity. I like Steve, but his essay demonstrates a severe lack of understanding of at least two fundamental features of Perl, namely context and lists.
- mahmud 17y agoDon't let others tell you what is good or not, find it out yourself.
- gjm11 17y agoIf you have evidence that it's lack of understanding, rather than lack of liking (coupled with a snarky, hyperbolic style), perhaps you'd care to present it?
- chromatic 17y agoHere's a simple one: parentheses never create rvalue lists in Perl 5. They only perform expression grouping.
- viraptor 17y agoBut that's exactly what he's complaining about: it simply doesn't make sense that you have to use parentheses, or crazy q// construct to create a list. At the same time they don't really "create a list", because it's flattened again. It requires remembering rules again, just like with the contexts. It just doesn't "make sense".
- mechanical_fish 17y agoThe phrase "love me, or hate me, but don't ignore me" is a serious marketing mistake, in any context. It's a transparently selfish cry for attention. Rather than offering something great to the audience, you're trying to win pity points by subtly accusing them of poor judgement: You should be paying attention to X, but you aren't! Believe me, if people wanted to pay attention to your project, they would find a way to do so. And if your project is being politely but firmly ignored, and you're not getting the message, it is not the audience's problem. They've responded to your message. That response is somehow not getting through to you. Perl needs no more criticism. Even the criticism of Perl is old news. Yegge's essay, cited elsewhere on this thread, is five years old. I suspect he has little to add to it, and neither do I. I'm glad Perl's users are happy and productive, I was really grateful for it ten years ago, and I have seen nothing that makes me regret my decision to stop using it.
- mahmud 17y agoActually guilt works as a marketing device, but only for the short term. Guilt marketing might force someone to buy a particular brand, but it doesn't change one's attitudes toward the brand overall. http://www.sciencedirect.com/science/article/B6V7S-45K1JKH-B6/2/6493246da0a3eb455f1ce119b9652e4a http://www.sciencedirect.com/science/article/B6V7S-45K1JKH-B... (Abstract, article behind pay-wall.)
- jrockway 17y agoThe phrase "love me, or hate me, but don't ignore me" is a serious marketing mistake, in any context. OK, but don't think that one blog is the voice of the Perl community. One blog shows the opinion of one blogger; nothing more. Amazingly, "the Perl community" does not have one single voice, as it consists of tens of thousands of people all over the world. (Also, if blog noise was a good measure of langauge popularity, it would be clear that the most popular programming language right now is Go.) Believe me, if people wanted to pay attention to your project, they would find a way to do so. And if your project is being politely but firmly ignored, and you're not getting the message, it is not the audience's problem. They've responded to your message. That response is somehow not getting through to you. One thing I've learned from social news sites is that this is not correct. People mostly want to find ways to justify their insecurities. If they don't know very much about programming, but pick language X, they will hang around people that like language X and that say good things about language X. Then they feel smart by association, and since they have lots of friends saying lots of good things about language X, they can feel good for "making the right decision". Being down on language Y and language Z also help reinforce that feeling. If language X is unpopular, then they're clearly in the so-much-smarter-than-everyone-else majority. If language X is popular, then it's clear that it's the best. If it weren't good, why would it have so many users? And so on. These are not technical arguments, they are just emotion. Confusing them with technical arguments is quite silly. Yegge's essay, cited elsewhere on this thread, is five years old. I suspect he has little to add to it, and neither do I. It's worth noting that Perl has changed significantly in five years. All of that criticism has resulted in many major changes in how people use Perl, such that the criticism is probably no longer valid. But of course, people like to recycle that criticism because They Picked Something Else, and drunken rants from five years ago make them believe that Something Else is the right choice. (I am not sure how valid it was five years ago, actually. It was more a criticism of Amazon's hiring practices, or perhaps a note about how poorly managed the programmers were. I would love to write an essay about how bad Python is, because I have seen some absolutely horrible Python code... but I realize that it's bad because it was written by someone who didn't know how to program, not because Python is intrinsically bad.)
- glyphobet 17y ago"Supposedly Perl Web searches are on the rise" Fact check: http://www.google.com/trends?q=perl&ctab=0&geo=all&date=all&sort=0 http://www.google.com/trends?q=perl&ctab=0&geo=all&#... Perl has been losing ground, while Python and PHP gain ground, for almost ten years: http://www.ohloh.net/languages/compare?commit=Update&l0=perl&l1=php&l2=python&l3=ruby&l4=-1&measure=projects&percent= http://www.ohloh.net/languages/compare?commit=Update&l0=...
- jrockway 17y agoIf you do Google Trends searches for "perl programming", "ruby programming", "python programming", and "php programming"; you'll notice that they all show a downwards trend. So I think there is something deeper here than "everyone is moving away from Perl".
- lg 17y agoi see what's stealing their thunder... http://www.google.com/trends?q=perl+programming%2Cpython+programming%2Cruby+programming%2Clisp+programming&ctab=0&geo=all&date=all&sort=0 http://www.google.com/trends?q=perl+programming%2Cpython+pro...
- mst 17y agoOhloh is a ... very web 2.0-y thing. Which means a lot of perl projects don't get registered, since we're not as whole an amazingly "woo! random social stuff! must register now!" community. I tried to redress the balance, discovered Ohloh's indexer had a bug that threw away half the history of my projects and thereby made them look much less actively developed, reported it twice, got ignored, and gave up. Plus Perl5 generates a lot more search.cpan.org searches than google searches during normal use - we don't generally hit google very much because it doesn't have the information we need. So I could argue that CPAN's been getting better and Python and PHP have continued to fail at having an equivalent. And I'd be making just as much of an unfounded guess as both you and the article attuhor are by guessing web search volumes matter. Of course, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html http://www.tiobe.com/index.php/content/paperinfo/tpci/index.... shows Perl5 and python and ruby all losing ground, but the other two significantly faster. I'm sure if I tried I could find you plenty more statistics that look good for Perl5 but don't really prove anything :)
- danbmil99 17y agoI've successfully ignored it for a quarter century. It's an abomination.
- Raphael 17y agoI just discovered that a Perl script has made it possible to view 44 channels of live British television. Incredible. http://www.myp2pforum.eu/live-tv/41045-british-tv.html http://www.myp2pforum.eu/live-tv/41045-british-tv.html
- pdcawley 17y agoAnd a host of Perl makes it possible for the BBC to serve up its iPlayer content. Some of it is even modern MooseX::Declare based Perl.
- lele 17y agoI have been loving Perl until I knew sound languages. Then I realized all the time it made me waste.
- jrockway 17y agoWould you care to share some of these realizations?
- mst 17y agoIt's extremely easy to pick up poor practices in Perl5 that make the language appear to be unsound even though it can be used extremely elegantly. You might want to have a look at the libraries that are part of Task::Kensho to get a better feel for how 21st century perl is supposed to be written - at the very least, you might find some ideas to steal for your "sound" language of choice :)
- david927 17y agoI avoided Perl up until about six weeks ago, when one of the best coders I know selected it for something we're working on. If it was anyone else I would have overruled the choice, but it turns out he was right. It's an unmitigated disaster of a language, as a whole, but if your needs are a "scaffolding language" that can script something together quickly and you're using a lot of regex, I have to admit, it's a great choice.
- mst 17y agoIt's an unmitigated disaster if you use it wrong - or at least if you use out of date techniques. This is also true of C - consider things like scanf and other chunks of stdio that are preserved for compatibility but no developer in his right mind would use for new code. Applications Perl5 written using MooseX::Declare and friends (see Task::Kensho for a good start at "and friends") is a much different thing to the high speed line noise-ish scripting perl that was the commonest sort a decade ago.
- berntb 17y agoAn informative comment from a really knowledgeable guy downvoted. The comment in question was polite to a newbie flame without supporting data. The flame was upvoted... like a large number of flames without arguments/motivations. I feel sad for HN. OTOH, some language communities are hilariously pathetic in their fanboyism... :-)
- jacquesm 17y agoAny language that needs advocacy has already lost. Good languages are adopted by people because they solve problems better than other languages. It is a market place of sorts. As soon as you feel the need to advocate a language you are actually advocating what you use, instead of letting the language speak for itself. The net effect of all this advocacy is possibly even negative, the more you try to ram a programming language down peoples throats the less inclined they are to give it a shot because they already have a negative experience before even trying it. Languages with an open and welcoming, real-world problem solving oriented community tend to benefit from the people using it and talking about using it. Those that simply hawk a language as 'great' and keep on hammering on its strong points are missing the point here. One of the reasons perl lost out not only to python but even to PHP is because it has a stigma attached to it of being (very) hard to maintain. That may be more of a reflection on perl programmers than on perl though.
- deleted 17y ago[deleted]
- systems 17y agoThis is a bit unfair, most programming languages do get their share of advocacy. I would agree if you say that Perl is getting the bad type of advocacy, or that those who are advocating Perl are not doing a good job! Ruby get a lot of "good" advocacy, which sound like ... "Hey I did X in Ruby, Ruby is awesome, Ruby is teh SHIZNET!" Python normally get this type of advocacy, "...hey look how you can do the same X in Python, but now its better" Perl's advocacy, sounds like "...Perl is not dead!", which I agree sound like a scary statement to make! But anyway, all languages get some sort of advocacy! Perl is actually late in the advocacy game, I guess this is why it so far gets the worst kind.
- chromatic 17y ago> Languages with an open and welcoming, real-world problem solving oriented community.... I think the CPAN applies very well here. Did you know that the CPAN Testers service records a million test results every three months?
- billswift 17y ago
- trezor 17y agoMy most common use of Perl: $ someCommandChain | perl -pe 's/because sed regex sucks/' Maybe I could spend some time learning a new regex dialect to avoid perl entirely, but for the time being this works for me.
- jrockway 17y agoMaybe I could spend some time learning a new regex dialect to avoid perl entirely You should also cut off your nose. It would totally spite your face!
- jsrn 17y ago> $ someCommandChain | perl -pe 's/because sed regex sucks/' > > Maybe I could spend some time learning a new regex dialect Maybe you should first learn the Perl regex dialect (the above regex doesn't parse in Perl).
- trezor 17y agoIf it wasn't obvious I just intended to write something informative in there, and couldn't come up with a clever substitution expression that would fit the sentence.
- mock 17y agoPlease stop using Perl. Perl has been my startups' secret weapon, and I'd rather the competition didn't know about it. Perl let us deal with large volumes of data, at high throughput (there are several ISPs, Universities, and fortune 500 which use our product to protect their mail infrastructure from DDoS and Spam). At a former company it let us collect, parse, store, audit, and make predictions against millions of web hits per day, in close to real time, with cheap infrastructure. Perl has been solidly stable - it just runs - keeping our ecommerce infrastructure making money. It has had few security issues over the years. It has had few backwards incompatibilities between versions over the years. As a component of our products, it's given me relatively little pain in performance, reliability and security. Development wise, I can't count the amount of time we've saved over the years thanks to not having to reimplement something because it's on CPAN, with a sensible license, with doumentation, tests, and in an easy to find and search location. As for code quality, Perl has great support for testing, support for automating code review (Perl::Critic), and a community of developers that are constantly making things better - but without breaking things that worked in the past (Moose has done amazing things for refactoring ugly OOP code, and you can use it with any of the other older OOP stuff). I use it because it works well, seldom breaks, and causes me less hassle than anything else I've tried (C, Java, Python, PHP, Ruby). I've spent serious time with this language; I've maintained ugly old code from 10 years ago, and giant million++ line projects written in it. It has warts, sure, but what doesn't? I don't care; it's reliable. Big jobs, little jobs - it gets the job done. And that, to me, is more important than high minded ideals about aesthetics and purity.
- known 17y agoAlmost all Wall Street firms code in Perl including my favorite http://www.moneybookers.com/app/ http://www.moneybookers.com/app/
- wheels 17y agoIs that Wall Street on the Thames? Registered in England and Wales under Company No 4260907. Registered office: Welken House, 10-11 Charterhouse Square, London, EC1M 6EH.
- jrockway 17y agoThis thread gives me serious deja vu. It seems like every time someone says they like Perl, the exact same arguments usually show up in duplicate. Someone posts Yegge's "I hate Perl" article. Three or four clever souls post something like, "I ditched Perl 100 years ago and never looked back". Then chromatic comes along and says something not-negative about Perl, and someone else asks him for conclusive proof. Anyway, I can't find words intense enough to describe how I am feeling right now, but it seriously disturbs me. It feels like the Universe is recursing on itself, and I am in two of the Universes at the same time. I had to check the date on the comment three times before I believed that it was real. Then I had to do some tests to make sure I was not dreaming. I can't breathe under water right now, so I figure I must be awake. But I can't believe it. This. Again.
- paulbaumgart 17y agoI agree that a lot of Perl bashing is thoughtless. And ideology when it comes to programming languages is just stupid. I'm sure there are plenty of cases where Perl is the best tool for the job. I know it's very good for large quantities of string parsing, for one. You seem to know a thing or three about Perl- do you have advice on other cases where it's the best tool to use? I think that might be the most effective form of countering the arguments you dislike, and it would be very practically useful too.
- mock 17y agomod_perl2 is really difficult to beat if you need to dig into the guts of Apache. DBIx::Class is a huge win if you need/want an ORM but you've been given a really weird pre-existing DB schema. POE has been around forever, and makes really stable long running daemons that don't have to be babied. CPAN has stupid amount of tools for automating sysadmin tasks, all of which you'll probably end up using once, putting in a cronjob somewhere and forgetting about because it will just work. Any time you need to deal with something old, or weird, or both there's probably a CPAN module for that, you can find it via search, and it probably has tests and docs. Template Toolkit for creating uglyass text is both nice to use and full featured (if you don't want to go down the XSLT hole). I've also found that Perl handles I18N, unicode and uglier things (like shift-jis) fairly well. Almost every payment processor has a module, and they all have a standard(ish) API, so they're mostly interchangeable. Likewise crypto stuff is fairly standardized and pretty complete. In general, if you have to tie something to something else that's weird, Perl is a good bet (because someone has probably done it, put it on CPAN, and documented it). That's a few of the problems I think it stands out as a great tool for.
- StrawberryFrog 17y agoBut ignoring Perl is my way of hating it. And it works.
- phillipadsmith 17y agoFrankly, I found Simon Wilson’s response to my post more enlightening than most of this entire thread: http://simonwillison.net/2009/Nov/27/perl/ http://simonwillison.net/2009/Nov/27/perl/
- martythemaniak 17y agoI'm a non-perl guy working in a very Perl heavy company, so hatred of it is quite well justified, and based on discussions with many of my coworkers, it seems the Perl community doesn't want to understand why the rest of the world has moved on and has no interest in Perl anymore (resulting in this kind of bullshit "please, please, please pay attention to me!!!") --The language sucks - yes it does. Usually the KISS principle is thought of as a good thing, except in the Perl language where nothing is ever simple or straightforward. There's 10 ways of doing every single little thing, and no two developers do it the same way. It is not a language welcoming of new developers, so as more schools and companies switch/abandon, I can only imagine it declining further. -- it offers nothing new or exciting to most developers. If you're starting a new project or company and you already know another similar language (say, Python), Perl has nothing to offer. While it was innovative new 10-15 years ago, most of the good has long been assimilated in other languages. -- real world perl sucks. a standard line amongst Perl monks is "you can do that in Perl!". Exceptions, objects, web frameworks, clean code, etc. You name it, you can do it in perl. Except in the real world, hardly anyone ever does, so Real World perl is as terrible as people fear. Python's strong community standards, OTOH, pretty much make sure you're almost always writing decent code. As an example, I picked up both Django and Catalyst over the last year. With Django (python newbie), I immediately picked up decorators and started using them - both the built-in ones and my own. Its simple - just syntactic sugar for a function wrapper. Catalyst OTOH, tries something vaguely similar using method attributes - except their are neither as powerful nor as simple/clear and despite many years of perl experience on the team, few people had seen them used, used them themselves, nor did they have a solid idea of how they work. My point is, when you make something simple and accessible, it'll get used. When all you do is repeat "you can do that" and wave your hands about, you'll get ignored and eventually forgotten.
- whiskeyjack 17y agoI work with this fellow so keep in mind there's history here between us on the subject. :) "the language sucks" -- Is very much in the eye of the beholder. Perl works the way I think just as jQuery does. As for not being welcoming, I think you'll find perlmonks.org to be a huge welcoming community. "it offers nothing new" -- I'm sorry, but if you already know Python or Ruby why would you switch anyhow? There's a big time investment in becoming really good at a language. No reason to switch when you have languages that can just get things done. I'm not even sure what you mean by "new". Perl is 22 years old now. Python and Ruby are both around 15. What's new here? I also find this "new" comment hilarious in light of the Python feature freeze. Things like Moose and Catalyst are new(ish) to the Perl community and they're doing great things. Further, CPAN is expanding at a huge rate, more than ever before. There's ALWAYS new stuff there. "real world perl sucks" -- Real world code sucks period. And I do clean code. There are standards in Perl and they do evolve. You need to engage in the community a little as I think everyone should with their languages. What is fairly obvious to me is that Python fits very well with how YOUR brain works. Perl fits very well with how MY brain works. Just because it don't jive with you, doesn't mean it doesn't jive with others. 'Scuse me. I have a mod_perl2 handler to write.
- wynand 17y agoOne thing I would like to know: why hasn't anyone else duplicated CPAN? I don't know Perl, but I've had to pull things from CPAN to make a Perl script work and I was impressed. At the moment I'm running parallel Python code on many different machines and it's a pain to make to sure that all the right packages are installed. I'm sure that something like CPAN would have helped.
- jamii 17y agoI've always been put off by the impression that the semantics of Perl consists mostly of edge cases. For example, the discussion of error handling here: http://www.yosefk.com/blog/what-makes-cover-up-preferable-to-error-handling.html http://www.yosefk.com/blog/what-makes-cover-up-preferable-to...
- pdcawley 17y agoWhich is why, if you're starting a Perl project today, you turn on warnings and strict, you choose between TryCatch and Try::Tiny and you seriously consider adding autodie to the mix.