Perl 5.11.0 Released
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."
It must be real good if it goes to eleven.
5.10.1 just came out like a week or so ago... there seems to be a slightly accelerated rate of Perl development lately, which is nice as it proves it's not a 'dead' language by any stretch... and with extensions such as MooseX::Declare, it really gives some of the more modern, OO-based dynamic languages like Python or Ruby a run for their money in their traditional sphere as well, I'd say.
and first post i think.
While you're being adventurous and testing Perl 5.11.0 I also suggest trying a Perl 6 implementation. Rakudo Perl (running on the Parrot VM) is one of the most actively developed right now. Not as solid as Perl 5.X yet, but certainly getting there.
Kernel 2.6.31.1
PHP 5.2.11
Apache 2.2.13
Debian 5.0.3
Keep up with all those thrilling point released with slashdot.org
For software of any appreciable size, Perl has unfortunately died in industry. People just aren't using it for anything more than 10-line throwaway scripts.
Perl 6 was something those of us in industry had been anticipating with glee. We expected it to modernize the Perl platform, and make it a contender against Java, .NET and C++ for large-scale software development. But we also expected we'd have that around 2005. 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.
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, the company I'm with has started to migrate from Perl to 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).
Rewriting our approximately 3 million lines of Perl code into Python has actually gone reasonably well. Although I was a staunch defender of Perl, I do have to give Python its kudos. Every day it looks more and more like we've made the right choice moving away from Perl, and towards Python.
Specifically, I have to (re)learn Perl every time I write something in it, which has been about 2 dozen times over the past 12+ years. Seriously though, there's something about my mind that resists keeping any Perl syntax or tricks-n-tips longer than it takes to do the actual project; once it's done it's as if someone else wrote it.
Why is it I can keep *shudder* Excel 4 macro tricks and have them at the ready at all times (=while(not(isblank(active.cell)))...why do I still remember this?) but I still struggle to assign values to a simple array in Perl?
$Book = 'Perl For Dummies';
print 'The title is $Book.';
When you run the program, Perl displays
The title is $Book
.
Now change the single quotes to double quotes in the print statement:
$Book = 'Perl For Dummies';
print "The title is $Book.";
When you run the program now, Perl displays
The title is Perl For Dummies.
http://askaralikhan.blogspot.com/
...
unit tests.
Cwm, fjord-bank glyphs vext quiz
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.
"For software of any appreciable size, Perl has unfortunately died in industry. People just aren't using it for anything more than 10-line throwaway scripts"
...
"Large and high profile websites using Perl include: Slashdot, The Internet Movie Database, Amazon.com, CMPnet technical magazines
What's the point of a release announcement without a link to the changelog?
Are you comparing Perl 5 to Python 3? Why not Python 2.6 or Perl 6?
Unit tests are only as good as the programmer that programs them.
Many times, your solution is not cut and dry.
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.
http://xkcd.com/224/
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.
All hope abandon ye who enter here.
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.
Nice to hear of the universe between your ears, where it's a fantasy island that you created yourself. Perl is the 5th most popular language on Github (and Ruby doesn't count because Engine Yard give Ruby guys free accounts). And Perl 5 and Perl 6 development are happening very separately, one of Rakudo's lead devs said a month or two ago that if they (personally) weren't working on Perl 6 they wouldn't be working on anything in the Perl community.
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).
I constantly struggle to make various Python programs work.
Why can't people just write real programs in real languages?
Remember C and Java?
Perl probably has the best testing culture out there from the major programming languages, including Java on the list. Between TAP, Perl 5 core's large test suite and a myriad of test related modules it has automated testing well covered.
Did you know for example that when you upload something to CPAN, it gets automatically smoked on dozens of platforms and hundreds of different boxes, test reports sent to the author and assistance provided to diagnose platform specific problems if needed?
Manual testing is for the problems not caught by the huge array of automated tests.
It takes a man to suffer ignorance and smile
Be yourself no matter what they say
Somehow I think your username gives away your bias. So STFU.
Is that Perl?
Given that it probably is, what does it do? And is that also what it was supposed to do?
Yeah, I'm gonna use this statistic, but only the part of it that I like.
Perl was so. fricking. awesome. back when the only choices were shell scripts or compiled apps. It was such a leap forward. Who wouldn't be excited about Perl back in the '90s
But we're far beyond the sophistication of Perl. I'm not saying that you can't do some pretty fricking awesome things in Perl, but that Perl doesn't do many of the meta-tasks that we've come to expect in languages. These supporting features don't necessarily make things run or run fast, but rather help developers in the process of creation and maintenance. The industry has grown up and the black magic of hacking has been codified into the craft of coding.
And Perl isn't alone here, C++ is undergoing the same process.
Notes From Under *nix: blas.phemo.us
Visual Basic DONE RIGHT (Python)
Yup. And the TAP framework (Test::More) is super easy to link with requirement management frontends.
I was writing a rebutal to your statements, but I came to the conclusion that it will be futile. So instead of that I just feel sorry for you, as I do for all Cobol programmers.
I have written some smaller Perl scripts and I will probably do so in the future. Perl is just unmatched when it comes to text processing. But for anything else the syntax is just to arcane. Instead of learning the Perl syntax in greater detail I prefer learning general concepts (or getting shit done).
Perl would be a whole lot better if the damn interpreter wasn't so freakin' huge and didn't take almost fifty MBs of RAM to load. 50 MBs isn't that much to speak of unless you're not running MOD_PERL and you have several Perl scripts running at the same time and your poor server is brought to its knees.
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).
I think its name should be spoken. I doubt that I'm the only one who doesn't know what language you're talking about.
To be fair, Python is a lot more than a VB clone. I love Perl but you gotta give Python some respect.
hahaha, never heard of github until now? and the fifth most popular language of these gits means what exactly? bet Perl was their #1 a few years back if that site more than four years old
qw and similar are there just to make assigning multiple values more comfortable. You can completely ignore its existence and not miss anything.
But what does Perl qw do that PHP explode() or Python str.split() doesn't?
Really? Or are you just making stuff up?
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).
I think its name should be spoken. I doubt that I'm the only one who doesn't know what language you're talking about.
Let's just say that you might need a Physicians Health Plan after trying to remember whether or not a function name has an underscore.
You can polish a turd, but it's still a turd.
I believe he's talking about this.
Hey I still use and love perl!
Is there a list online of the cool new features?
Also, people dumping perl... what are you moving to?
(Thanks)
Ladies, ladies, before you start talking about things you obviously lack the brains to comprehend, lets just remind everyone how one should measure an active development community. Lets examine the amount of modules in the default distribution for each of the top interpreted languages today: CPAN: 73018, PyPI: 7740, Pear: 132. A year ago, there were 58878 modules on CPAN (http://web.archive.org/web/20080730121430/http://search.cpan.org/). Draw your own conclusions whether the language is dead. Meanwhile, the Python (ex PHP retards) core team is still trying to figure out, 20 years deep in the development of the project, how to support UNICODE correctly. Good times!
Kids today... Who writes in C? Real Programmers write everything in assembly - all those fancy "volatile" and "restrict" constructs are just cruft required because they couldn't find Real Programmers who didn't need stinking optimizers. Java... don't even get me started - support for synchronization IN A LANGUAGE - that's just silly talk.
Why is there an "insightful" mod and why isn't it "-1"? If I wanted insight, I wouldn't be reading
When you know as much, and can do as much as Larry Wall, talk, meanwhile STFU.
We must REALLY be behind the times like it's 1999. Because a lot of our stuff is not only written in Perl, but deployed on FreeBSD too!
Most of our stuff was in PHP and usually what the public sees in the terms of our control panel and shopping cart system is PHP. But behind the scenes, it's all perl. All our billing scripts, maintenance scripts, log parsing scripts, reporting scripts, and API are all Perl. Anything that needs extensive regex is Perl. Granted, most of those scripts I've built probably 10 - 12 years ago, but they still do their jobs and do them well why change?
We've been looking into datamart for long-term storage and analytics and the one we're close to selecting turned out to have no PHP support at all (well supposedly ODBC works), but Perl had not 1, but 2 modules in CPAN to connect and work with the database. And thanks to that it turned out to be faster in loading batch jobs than PHP/ODBC.
Recently we'd been using a PHP based CMS that while popular is slow. The content is mostly static, but the pages needed to load faster. We switched to a Perl based CMS with flatfile databases that load in less than 2 seconds vs. 12 seconds for the PHP/MySQL based CMS.
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
Perl is used very extensively, in industry, military and academia, that is not to say anything against Python.
I find it is much easier to get people from a traditional programming environment, FORTRAN, C, C++ productive in Python than Perl, since the style is much more compatible. Perl as line noise is a joke and is easy to write well and debug.
But again, you must learn your tools, but all learning is at a cost. Also developers tend to overcomplicate.
The which is the best Programming language | Methodology | Pattern is getting very old!
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?
For me anyways:
1: Better multi-threading support
I have written a huge estimation application (web-based). The calculations are something like O(n^n) or worse... point is, processors aren't getting faster. We are however getting a lot more cores. The algorithm parallelizes very well, but perl does not do efficient multi-threading. So I will have to re-write the estimation engine in something else.
2: Compilability
For the companies that want to keep their code proprietary... there are projects that pretend this, but they just append the code to the interpreted. Trivially reversable.
uh, your graph shows constant ~1% of all language *internet listings* of Perl for the last four years. Proving what, I'm not sure. And let me tell you how internet job listings work. One place has a real job, and then 30 other recruiting firms see that job and also run same listing with slight variabtion hoping to find person they can then present to the original company so they can get a cut. So the number of real actual Perl jobs on your graph is in the "statistical noise" percentage of perhaps 0.03% or so.
But I gave up on Perl because CPAN never worked properly on Solaris (I know about the gcc version, don't get me started). So it seems after the Perl kids grew up, the next generation adopted Python. I'm sick and fucking tired of trying to figure out if a certain "program" writen in Python need to be run with Python 2.4, 2.5, 2.6, or what the fuck ever, but now there seems to be a new generation for which Python is your Dad's scripting language, so they're onto Ruby.
And when the Ruby kids grow up, what's next? Can't we have some software that if it runs now, it will still run ten years from now, like Cobol, FormTran, or C?
I'll bet you consider those to be antiquated don't you? And yet programs in those languages are being run all over the world to do serious stuff, and will be for a long time, and your OS may be written in one of them.
My first computer in the 70's had an interactive BASIC interpreter that was great for playing around with programing. The scripting languages that have sprung up since them are acestors of that BASIC interpreter, and must be very educational for the younger generation, but IMHO are not suitable for production software.
I've found I can do pretty much everything I need with shell. I've also tended to find that I can store and retrieve whatever data I'm working with in flatfiles with awk, as well. Some people might find that horribly primitive, but truthfully flat text is a lot easier for me to understand and work with than XML.
I feel that awk has an excessively bad rap, to be honest. I know of some people who like it, but it doesn't seem to get used much. I find it very useful at times.
What do people use Perl for?
\the syntax is just to arcane.
Perhaps the syntax of English is just a little too arcane as well?
Add SQL to the list and it beats even C.
http://www.indeed.com/jobtrends?q=c%2C+java%2C+perl%2C+php%2C+python%2C+ruby%2C+sql&l=
If I have seen further it is by stealing the Intellectual Property of giants.
I know I already replied to this. But if you click "relative" you get an idea of the growth in language jobs (though I suspect that the y axis needs to be logarithmic). On a whim I decided to include web frameworks too. e.g. Django, ruby on rails. SQL and C are still on top (followed by VBA) in the absolute, but in relative Ruby on Rails and Django appear to smoke everything else.
absolute: http://www.indeed.com/jobtrends?q=c%2C+java%2C+perl%2C+php%2C+python%2C+ruby%2C+sql%2C+postgresql%2C+mysql%2C+django%2C+ruby+rails%2C+cobol%2C+assembler%2C+MATLAB%2C+VBA+visual+basic&l=
relative: http://www.indeed.com/jobtrends?q=c%2C+java%2C+perl%2C+php%2C+python%2C+ruby%2C+sql%2C+postgresql%2C+mysql%2C+django%2C+ruby+rails%2C+cobol%2C+assembler%2C+MATLAB%2C+VBA+visual+basic&l=&relative=1
I have no idea whether the growth in jobs is matched by the growth in programmer numbers in those areas. Also any new languages/frameworks/whatever are probably going to grow like crazy if they are any good. But even among web frameworks it seems that the growth of the top 3 is exceptional. Drupal, Ruby on Rails and Django are still top. (I added a bunch more from http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks). That's not to say that the most popular language/database/web framework/whatever are the best. e.g. I'd never willingly use mysql over postgresql, even though there are way more mysql jobs. Growth rate is the same however. Another factor is the payscale. If you were after money you'd pick a language that is both well paid and growing at a rapid rate. Intuitively, a more powerful but harder to use language should pay more because the supply is more limited.
relative: http://www.indeed.com/jobtrends?q=django%2C+ruby+rails%2C+zend%2C+zope%2C+pylons%2C+symfony%2C+cakephp%2C+drupal%2C+fuse%2C+turbogears&l=&relative=1
absolute: http://www.indeed.com/jobtrends?q=django%2C+ruby+rails%2C+zend%2C+zope%2C+pylons%2C+symfony%2C+cakephp%2C+drupal%2C+fuse%2C+turbogears&l=
This site is pretty cool too.
http://www.hotscripts.com/blog/determining-programming-language-popularity/
If I have seen further it is by stealing the Intellectual Property of giants.
Perl was once the de facto server-side scripting language of the web. It had a huge head start. Most of today's CPAN is momentum left over from that era. That PHP, quite horrible in itself, could actually displace Perl is a measure of the mess the language has become. Even that would have been easily fixable if Perl did not have such sclerotic leadership as to fritter an entire decade away on linguistic games with themselves.
get_real_name_of_this_language();
Maybe?
Dark Reflection
Obligatory xkcd reference:
http://xkcd.com/378/
Sorry that you had problems with Perl, but I am now running Perl code since 9 years on an environment consisting of three different platforms, which are Solaris, Windows and cygwin (yes, also Windows, but there are differences between running Perl pure on Windows and in Cygwin). The libraries and programs I have written can be installed unmodified on any of these platforms and provide the same functionality. I never had any problems running Perl on Solaris, but the prerequisite is that a gcc is installed beforehand and that you have the possibility running it always when necessary, especially when installing C-based packages from CPAN.
I did not even have a choice in the matter, my boss decided 9 years ago that I should do everything with Perl, because we inherited some Perl code from another site that was to maintain.
The thing that helped me become a better (Perl) programmer was the discovery of How To Design Programs, and discovering that Perl has the same wonderful functional possibilities as Scheme and Lisp.
Perl is just unmatched when it comes to text processing.
I think GNU awk is just as good as perl for text processing, and faster. Perl is still good for the occasional nifty 1-liner, but otherwise there's no need for it anymore. Other languages have surpassed it.
Github gives everyone free accounts for open source development. But Github popularity isn't a measure of much of anything about a language, its more useful to tell you which communities Github has gained popularity in than which languages are widely used.
wrong, Ruby mostly just hobby.
The languages I use as part of my job include J2EE, Perl, PHP, C/C++, Python. One of the reaons I bitch so much about Perl is it was my first scripting language love, so awesome at the time compared to the NOS JCL, VMS DCL and Unix sell clunky scripting. sad to see Perl 6 in present state.
That somebody thinks the above is clear erases from my mind any doubts about opening any book with a camel on its front cover....
IANAL but write like a drunk one.
I am not saying it is sensible or clear, but it is not unique to Perl: :pinguino:~$ sh
$ Book='Perl For Dummies'
$ echo 'The title is $Book'
The title is $Book
$ echo "The title is $Book"
The title is Perl For Dummies
IANAL but write like a drunk one.