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.
LOL apparently you've never seen the Perl6 feature list, which can be summarized to "implement every programming concept known to mankind", or the CPAN which is "everything that can be turned into (what amounts to) a library, turned into a library and ready to freely download".
Its the ultimate glue language.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
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.
.. for prototyping and scripting. I'm a non-coder working for a software house with highly experienced coders. I taught myself Perl and C. But none of these guys will use Perl. For anything. All they will use for scripting and prototyping is *Python*. They make the usual cliche jokes about Perl being unreadable etc. I'm really beginning to think that I wasted my time learning Perl.
Who said anything about dagos and cathedrals? That's a bazaar inference!
"Flyin' in just a sweet place,
Never been known to fail..."
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.
I hope not. I have to maintain a large body of Perl code at work, and it's a nightmare.
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
Right now I am (should be :) writing Perl code, and being paid for it.
And it's a big and important project, not just some utility scripts.
I also write one of my main pet projects in Perl.
factor 966971: 966971
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"
We call that the CPAN, and it's the opposite of plummeted.
how to invest, a novice's guide
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.
Coming back?
It never left, I used it everyday.
Hah, you got modded informative instead of funny.
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.
The reason I like perl is that it is 'good enough' and the people that would screw with it to make it inconsistent are all off on either perl6 windmill chasing or other languages. I will admit to some unfortunate ignorance of ruby, but at least with python, while I find it a commendable language, they have been much more aggressive about incompatible changes than perl5. A program written against perl 5.4 runs fine with perl 5.16. However, in my experience code written against python 3.0 might not work quite right with 3.2 without some tweaks.
In terms of *nix friendly scripting languages, ruby, perl, and python are the only choices with a sufficiently rich set of libraries available to do things.
Besides that, perl is serviceable. It allows programmers to employ unreadable syntax, but coding discipline can mitigate that. Generally poorly readable perl code can be written readably. Part of this is terse syntax to enable simple one-liners in a *nix pipe chain. Python isn't exactly a language amenable to that. However, perl syntax accomodates more verbose, readable style to be comparable to python in more sophisticated scripts. Compare this with awk, which also has excellent properties on CLI, but doesn't scale up to a 'real' program so well.
XML is like violence. If it doesn't solve the problem, use more.
What's *really scary* is a perl script with '#use strict;'. Meaning they tried to use strict; but gave up on it.
XML is like violence. If it doesn't solve the problem, use more.
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.