Perl 5.16.0 Released
An anonymous reader writes "Perl 5.16.0 is now available with plenty of improvements all around. You can view a summary and all the change details here. With Perl on an annual release schedule, and projects like Mojolicious, Dancer, perlbrew, Plack, and Moose continuing to gain in popularity, are we in the middle of a Perl renaissance?"
I love Perl, but I'm curious. Whatever happened to Perl 6? I remember hearing about it way back when I was in grad school, which was a long time ago.
If I can be modded down for being a troll, can I be modded up for being an orc, or a balrog?
Chromatic's Modern Perl book is also available as a free download. It's useful for Perl programmers who want to know what's new in the Perl world in the last several years.
Perl is not coming back. Get over it and learn something else.
It never went anywhere, so why would it need to come back?
I have a bias, but I've had many positive responses to Modern Perl: The Book.
how to invest, a novice's guide
Coming back?
It never left, I used it everyday.
Well that was embarassing. you don't want to see projecteuler.com. Try
http://projecteuler.net/
that works a heck of a lot better.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
We're seeing Perl as having moved because we have moved. Perl has kept doing what it has always done at a high level of excellence.
The market shifted. First, many Perl programmers shifted to PHP once the net decided security and economy of processing power were not goals on the table. Second, a lot of newer programmers are reliant on frameworks and other pre-built systems and learned the languages that go with those.
However, among those who've just kept making things work for the past 15 years, Perl remains alive and well. It is still the fastest way to get the widest range of tasks done. And if you don't code like an obscurantist maniac, it's easy to maintain.
It may look to us like Perl went away, but what really happened was an infusion of other people and trends. Now that the free money from a dot-com booming economy has gone away, Perl is shining through once again as the reliable and powerful option that it is.
Futurist Traditionalism
Perl's strength is that it's expressive. It's not a language which is easy to learn or which generates heavily optimized code.
In the demo phase, you're not really worried about performance. The goal is to have something showing as quickly as possible, and not worry too much about how fast it runs, or how much memory it takes. Overspec your demo system for the time being (ie - make it really fast and install lots of memory), and once you have a reasonable interface go back and recode it in a simpler language which can be more easily optimized.
Languages which are simple to learn (c++, for example) are generally not very expressive. You end up wasting tons of time debugging issues of memory allocation, library interface details, and datatype conversion.
Languages which are expressive are a little harder to learn, but any individual line in the expressive language does a lot more. Since you are writing fewer lines, and since the fewer lines do more, you end up making programs more easily and in less time.
Yes, the programs will execute a little slower, but as mentioned, this is not important in the demo stage. Your productivity will be much higher.
And there are lots of places where performance simply doesn't matter. Scripts usually fall into this category.
Perl was written by a linguist, not an engineer. As such, it's harder to learn (it's got tons more keywords and context), but once you get the hang of it it's much more expressive. The following single line:
@Lines = sort { $a->{Name} cmp $b->{Name} } @Lines;
unfolds into several lines of C++, plus a subroutine definition with datatype definitions. The following line:
@Files = <c:/Windows/*.exe>;
can be implemented using one of over a dozen possible library calls in C++, but is builtin in perl. You don't have to look up the library call interface specific to your system.
Have you maintained any (large) body of code that isn't a nightmare?
All they will use for scripting and prototyping is *Python*.
NOT using Perl for prototyping IME is a good thing.
Many of my program and libraries begin their life as proof-of-concept in Perl. And the problem is that from Perl implementation it is pretty much never possible to devise how much time it would take to implement C/C++/etc equivalent.
I had totally bad cases like where I have spent 2 weeks writing a library in C++ for which Perl's equivalent took me only 30 minutes. As a proof-of-concept, Perl implementation could be a quick hack - but C++ has to be a production quality. With the vast utility of Perl many corner cases seem trivial and work easily without performance regressions - while in C/C++ one ends up feeling like reimplementing the wheel for every one of them.
Perl is BAD for prototyping for C and C-like languages IMO. The difference between the languages and the libraries is way too great.
P.S. I'm not sure how better it is in Python. It should be better: the utility of the Python is much more limited compared to the Perl.
All hope abandon ye who enter here.
Ultimate glue? That's why I'm interested in Perl 6. It's supposed to be able call C/C++ library functions directly. No more need for wrapper libraries, which is the majority of CPAN. No need for SWIG, which I find bloated.
Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
If they write their own code, its unreadable?
Fire them.
Its easy to write code in perl that looks like C and is readable, and still fast. (Often faster than java btw)
Yes, using shortcuts and lots of login in one line is cute, but its horrible to read, so DONT do it.
Liberty freedom are no1, not dicks in suits.
Sorry, Perl fanboys, but Perl is dead. Not only has it been eclipsed in the web domain by PHP, J2EE, ASP.Net, Ruby on Rails, and others, but in the scripting domain it has been overtaken by Python.
TIOBE Index seems to disagree: Java, C#, PHP, Python, Ruby all down.
Perl right there at 9, same as it ever was: a good tool for people that want to get work done and not chase the hot flavor of the month.
From the link:
Sounds like a HUGE amount of development! I had no idea of the scale of the effort and love and use Perl myself.
Hard to imagine how anyone intelligent could ever say Perl is not timely with this kind of mass coordination going on. (Not to mention Slashdot being written in Perl IIRC...)
Personally I am excited about the Modern Perl book (I seem to have self-censored myself into using older versions).
I have used and liked Catalyst but have also imagined even easier ways to build systems with it and say Moose.
So I am going to have a lot of fun trying out Dancer and PSGI/Plack.