Perl 5.11.0 Released 235
jamie points out that Perl 5.11.0 was released yesterday, as well as a schedule for future 5.11.x releases, planned for the 20th of every month. Jesse Vincent encouraged testing of the new (development) version, saying, "If you write software in Perl, it is particularly important that you test your software against development releases. While we strive to maintain source compatibility with prior releases wherever possible, it is always possible that a well-intentioned change can have unexpected consequences. If you spot a change in a development release which breaks your code, it's much more likely that we will be able to fix it before the next stable release. If you only test your code against stable releases of Perl, it may not be possible to undo a backwards-incompatible change which breaks your code."
Also try Perl 6 (Score:5, Insightful)
Re:Seriously? (Score:0, Insightful)
to those of you for whom basic reasoning and reading comprehension are too much to ask, i did NOT just claim that perl is dead. I only claimed that the frequency of releases alone is not a criteria for determining its dead-ness or alive-ness. now seriously, go get some remedial education if you thought I was claiming it was dead, because no one needs your wanton ignorance polluting the Internet, driving, voting, and buying into all the bullshit the media spews every day.
Re:Perl has died in industry. (Score:3, Insightful)
People just aren't using it for anything more than 10-line throwaway scripts.
You just posted on a website running Slash. Although it is Perl, so maybe the codebase is less than ten lines.
But we also expected we'd have that around 2005.
You were expecting it the same year the very first implementation (Pugs) was started? That was silly of you.
It's nearly 2010, and we still don't see much real progress on that front. Rakudo just isn't a production-grade product yet.
Unless lives are at risk, Rakudo is stable enough for production (although you may want to wait for the April "Rakudo Star" release).
I'm sad to admit it, but instead of waiting for incremental Perl 5 releases for the next decade until Perl 6 is finally mature enough
Perl 6 != Perl 5. They are two VERY different languages. Perl 5 and 6 will continue to be maintained in parallel.
until Perl 6 is finally mature enough, the company I'm with has started to migrate from Perl to Python.
You're complaining about maturity and yet you're using Python?
Unlike the Perl community, the Python community has shown with Python 3 that they're capable of working together to create a major release with many new features in a relatively short amount of time (especially compared to the Perl 6 effort).
Perl 6 has many, many more changes than Python 3. It is an entire rewrite of the language from the ground up, they didn't just change the print statement to a function and call it a day.
Rewriting our approximately 3 million lines of Perl code into Python has actually gone reasonably well.
That would have been what, 6 million lines in Python? Now I know you're trolling.
*cough* *cough* (Score:2, Insightful)
...
unit tests.
Re:netcraft didn't confirm but Perl is dying (Score:0, Insightful)
What the fuck are you talking about? Perl is still the King of Scripting Languages and always will be, at least until it has some real competition.
Ruby is the biggest fucking joke to hit software development in years. It takes the worst of Smalltalk, and combines it with the worst of Perl. Then it adds in a bunch of smug college students, sorry, "rockstar programmers", who can only toss together ass-licking Web frameworks that pale in comparison to NeXT's early releases of WebObjects.
Python 3.0 has been a huge disaster. When we tried it at work, we found a huge number of problems with core modules. Many of them hadn't even been updated to support the Unicode string changes in Python 3.0! And a lot of the third-party Python software just plain won't work with Python 3.0. We couldn't fucking believe how horrible of an experience Python 3.0 was for us.
Perl is the only scripting language that is solid, is reliable, is flexible, runs just about everywhere, has an intelligent developer community, and just works out of the box. There is no alternative to Perl.
Re:I love Perl (Score:1, Insightful)
This is exactly how it should work. I'm not a fan of perl, but this is how most scripting languages, and your shell, do it. ' means literal quotation, while " is more relaxed.
Re:*cough* *cough* (Score:2, Insightful)
Unit tests are only as good as the programmer that programs them.
Many times, your solution is not cut and dry.
Re:netcraft didn't confirm but Perl is dying (Score:4, Insightful)
nice to hear of universe between your ears, where it's 1999. outside of that, in real world use, Perl has plummeted in use in last five years, from third most widely used language to eleventh. the language has stagnated and any Perl creative effort being wasted on the undead Perl 6.
Re:Also try Perl 6 (Score:3, Insightful)
uh, I'd rather do an implementation in a language that's not in pre-release status. My clients like their money handled by language that 1. exists 2. has stable specification 3. has stable releases
Re:netcraft didn't confirm but Perl is dying (Score:3, Insightful)
Limitations in studio, please.
Larry is old enough we should start placing bets, does he die before Perl 6 comes out?
I'm accepting bets whether a card runs you over before you read the comment.
Re:netcraft didn't confirm but Perl is dying (Score:2, Insightful)
too many better competitors with powerful features have sprung up
Such as... what? A Visual Basic clone (Python), a rewrite of VB itself (.Net), a Java ripoff (C#), something that brings a website to its knees before it hits 20 simultaneous users (Ruby), or an absolutely appalling clusterfuck of a language that can't even use consistent function names within a single module (its name shall not be spoken).
Re:netcraft didn't confirm but Perl is dying (Score:3, Insightful)
Yeah, I'm gonna use this statistic, but only the part of it that I like.
Re:Perl has died in industry. (Score:3, Insightful)
I thought there was a reverse string function. In that case, why is it an infinite recursion and not a method not found?
Re:Seriously? (Score:4, Insightful)
Benchmarks and whatnot have little relevance to the real world.
It's true that thanks to the "there is more than one way to do the same thing" isn't very appealing to commercial companies. But at the same time in the past 15+ years I work, literally every employer had some part of its infrastructure supported by Perl programs.
Perl isn't for everyone. Obviously simpler languages like Java or C# or Python would tend to dominate because barrier to entry is lower. Nothing new.
Perl dominated Web in the times when it was a new thing. Internet itself was a new thing. And obviously to start something new you need smart and experienced people. Among such people Perl tend to be quite popular. Now Web design became something what even your mom can do - tools are abundant. There is no need to employ such heavy lifting tools like Perl anymore.
But thinking that Perl was used exclusively to do web stuff is a rather silly mistake to make.
Re:Great! Another language to learn! (Score:3, Insightful)
Every so often when I think that Perl might be worth considering again, I come across some truly baffling example of misguided intentions like this.
I'm sure someone thought it was a brilliant idea to save keystrokes - why type "list.GetRange(0,3)" when you can create syntax using random unused symbols on your keyboard like @states[0..3]? After all, the metric we use to judge programmer productivity is the number of keystrokes they use writing code, not the maintainability of their code.
Oh yeah! And let's pick a totally random set of characters and use it to tell the code syntax parser to change modes! How brilliant! We can just use "qw" to mean "list of strings operator". Sure, why not, nobody would ever write a function called qw on their own, so there will never be a conflict. And now our code has random text in it which is hard to scan for and isn't surrounded by quotes and doesn't obey the same logic that any other text does.
Seriously, consistency helps reduce the burden on a programmer. There is no excuse for a language that attempts to remove readability and consistency for the sake of reducing the number of keystrokes required to type a task. You can only save yourself typing time once, whereas readable code saves you time every day for years.
Re:Great! Another language to learn! (Score:4, Insightful)
What random symbols? the 0..3 type of syntax seems to be pretty common outside of Perl as well.
And Perl doesn't have a .GetRange(0,3) type syntax since it's not an OO language originally. OO was grafted on to it later, so a list in Perl is still a list, and not an object with methods.
Same logic could apply to exactly any other function. Personally I think "print" is a much more logical name for a function a programmer might want to use than "qw" (if your code has functions with names like that, I don't want to deal with it).
As a language construct though, it'd be weird if "qw" had a much longer name, since it's intended to help make things shorter. And it probably stands for "quote words" which seems pretty logical given what it does.
Also, this complaint seems odd in regards to Perl, which has a much cleaner namespace than many other languages, and helps keeping it clean.
I don't get this part?
I agree, though in part only.
Seriously, Perl gives you a choice. If you don't like it, don't use it. I don't use every single construct I can either. Sometimes they help:
Why type all those quotes and commas, which can easily be messed up, leading to a compile failure? It's even more readable this way. Sometimes things like $_ help inside things like map, sometimes they make things more confusing. A good programmer knows when a tool is appropiate.
Sometimes quick and dirty is a good thing. When I make a log parser in 15 minutes to gather some stats for a one time event, it helps being able to take some shortcuts. But those are by no means necessary, and I don't use them when writing bigger things.
Re:Perl has died in industry. (Score:5, Insightful)
Then maybe they need to have two VERY different names. Have we learned nothing from the problems caused by Java and JavaScript? It's nearly 2010 and people still think those two languages have something in common with one another. Now we have two different languages with the same name. Did anyone think that that would not cause confusion?
Re:Great! Another language to learn! (Score:1, Insightful)
Random unused symbols such as the at-sign, square brackets, and periods? E-mail must be difficult in that case.
Also, "qw" stands for "quote words." Simple enough.
Re:Also try Perl 6 (Score:2, Insightful)
"a Perl 6 implementation on the Parrot Virtual Machine, already implements a significant portion of the language."
you really can't seriously suggest I recommend this to a paying client? Perl 6 is pre-release as it has been for 9 years, parrot just has its first 1.0 release, and Rakudo implements some subset of Perl pre-6?
Re:Perl has died in industry (mod away, kids) (Score:3, Insightful)
Wait, wait. I'm not clear on your concept. Are you saying that compilation makes programs more stable and maintainable? What's the connection between stability, maintainability, and compilation?
Are you saying that if I ran C or C++ code inside an interpreter (and there are some), then that code would somehow become less stable and maintainable?
Re:Seriously? (Score:3, Insightful)
I personally know of exactly one company that uses Perl at the moment, and that's only for text cleanup.
Perhaps you don't know many companies :-)
Re:What about 3rd party modules? (Score:1, Insightful)
You Perl faggots always like to bring out CPAN, don't you?
The last five or six times I've tried to install a module from CPAN on a modern Linux distribution, it has fallen flat on its face.
First, you have to wade through 15 or 20 similar, yet equally shitty, modules before you find the one that actually sort of works. Then you have to pray that it installs correctly, which it usually doesn't. Finally, you have to try to figure out how to properly use the goddamn module, which is often as cryptic as anal warts and of course lacks documentation and helpful comments.
But by that time, you've wasted a better part of a day, and you realize that Perl is a waste of time, CPAN is a waste of time, and that Python just works. 7000 modules each doing one thing very well are better than 70000 modules where 10 perform the same task, and all of them suck rotting goat penis.
Re:What do people use Perl for? (Score:2, Insightful)
I use Perl for one-time jobs... Repairing badly-formatted 80GB data files. Splitting flat files into multiple output files. Testing uniqueness of various fields. Finding the line(s) in a 250GB file that is crashing the sqlload program, and fixing it, because you have two hours or we'll lose the project. (nevermind it's the client's data). Editing several files to purge or excise fields or characters before doing serious work with them. Most of these I do via the command line. I'll write actual Perl scripts to crawl throughout our network and gather statistics on files and projects, to test patch status, to download files, process them, and email the results.
Quick! The boss is standing over you demanding that you convert a flat file into csv, add a header, prepend a unique id, and spit any lines with weird characters into a separate file. Here's the printout of the layout. You have ten minutes. There's a million lines in the file and they've got to build a marketing model before the client meeting in one hour.
Re:Seriously? (Score:3, Insightful)
Of course Java is simpler than Perl.
Java is strict typed - Perl is weak typed.
Java does support run-time dynamic loading of classes - Perl supports run-time compilation from text.
Java's class tree is static - Perl's one is dynamic and can be twisted any funny way at any point of time.
Java is explicit language (has no/little of side-effects) - many Perl constructs are by definition implicit and some side-effects are documented as features.
In the end, Java is simpler to learn, simpler to develop with, simpler to maintain.
Secret is very easy: Java pretty much never requires one to use brain during no phase of development process.
Perl actually makes you want to use your brain. Because it's fun.
Re:Perl has died in industry. (Score:1, Insightful)
Better question is, what idiot decided to rename the string.reverse function to something that makes no sense to anyone but him and will cause head-desk-inducing errors for everyone who tries to reverse a string the way they do it in every other programming language since the Stone Age?
Why should the name for the function to turn a series of characters from back to front be different from the name for the function to turn a series of arbitrary items back to front? Does perl6 not have namespaces or something?