4 ms·
I personally don't like the 'flavor' of most Perl that I've seen or written - and it was my first programming language - but it's obvious that it remains one of
by eblume 14y ago
I personally don't like the 'flavor' of most Perl that I've seen or written - and it was my first programming language - but it's obvious that it remains one of the most relevant languages in terms of shipped code.
That being said, I don't feel that any of the reasons given in this post are in any way leading to the conclusion 'Use Perl'. In fact I think all of those points apply to just about every major high-level language today. CPAN is definitely a very high-quality system, but I think nearly every language I use has something functionally similar. The same sort of argument works on the other points, or so it seems to me.
The one exception is the ease of extending the language. I'm not familiar with that functionality of Perl, but I can say that extensibility of the core language is by far my favorite feature of Scheme. If Perl has a similar ability, then I will absolutely concede that that is a powerful feature indeed.
- knighthacker 14y agoIndeed :). Checkout these modules: Test::Class::Sugar MooseX::Declare Thank you for your feedback.
- ironcamel 14y agoThose are both excellent examples. One modifies the core language syntax to allow for writing tests in a cleaner and easier way. The other one modifies the language to make writing OO code in a new way, one that will be familiar to Java developers. I don't know of very many languages that allow developers to modify the core language via 3rd party modules. That's why Perl will never die - it will simply evolve as the needs of programmers change. Hey, Smalltalk Roles are a nice idea ... ok we'll add those (Moose::Role). Hmmm, lets allow method signatures to declare types for their params ... sure no problem (MooseX::Method::Signatures). Wouldn't it be cool if we could treat arrays as objects and invoke methods on them? Sure, here you go (autobox::Core).
- e12e 14y agoAs has been alluded to in another comment: Which other languages that compare to perl have you actually looked at? Python has rich meta-programming. Ruby has (almost) single-handedly super-hyped and re-invented the idea of domain specific languages (DSLs). Lisp is of course all about this (as is Forth). Javascript builds on the ideas from Smalltalk and (especially) Self to allow you to crazy stuff with how objects work... Java can't do much of this, but the JVM has been bent in surprising ways by efforts like Clojure and Scala... While it is great that you know and like perl -- That particular point in the post (and this comment) seems rather poorly researched. I'm very much on the burnt-by-crazy-old-nasty-perl-legacy-crap side of the fence -- but I can't deny that I see some of the reasons why people would like to use perl -- it's just not for me. The statement "Perl evolves in a ... manner that makes the language always fresh" makes me want to hide under the bed -- if I have to deal with someone else's code in production ;-) Still -- it's a bit strange to see the claim that perl is somehow much more flexible than other comparable languages.
- ionforce 14y agoSo, you acknowledge that your experience with Perl is outdated, yet you're sticking to your guns.
- e12e 14y agoThe particular claim was that Perl programmers extend the core language via Perl's ability to do meta-programming and that Perl is more flexible than other (comparable) languages. Further clarification with regards to DSLs show that the poster meant that Perl has been more flexible for quite some time (before Ruby hit in the western world) -- ie: from the time that I did look at Perl rather seriously. At that time there were already quite a lot of movement within eg: python with improvements being made to the language, in the language itself. So, yes, I guess I'm sticking to my guns.
- e12e 14y agoAnd, incidentally, I was wrong: http://news.ycombinator.com/item?id=4463536 http://news.ycombinator.com/item?id=4463536