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?
Once the king of the scripting languages, too many better competitors with powerful features have sprung up, and we're still stuck with Perl 5 limitations. Perl 6 started in 2000, still not released and the 20-oughts decade is almost over. Way too many features thrown into that hodge-podge specification and overall way too complex. In short, with Perl 6 (should it ever really actually go out of pre-release status) the already crufty syntax of Perl 5 is going from "whale guts" to "its raining whales".
Larry is old enough we should start placing bets, does he die before Perl 6 comes out? does Perl die even before he does? Should Perl 6 be euthanized? should Larry? ok, just kidding with that last bit
Ok, I know this will be modded flamebait or troll, but really. Think about why do these scripting ("dynamic", bah) languages come and go.
It appears to me that some kids don't want to mess around with compilers and such. They value programming speed over stability and maintainability. Don't think so? Look at a Python program sometime and compare the ratio of comment lines to code lines in comparison to software written by an adult in a compiled language.
But my real point is an answer to why people aren't using perl so much anymore; they grew up.
The new kids are using Python, PHP, Ruby, or whatever is the latest excuse not to actually compile code into something stable and maintainale.
$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
"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?
Let me give you a vision... You're in your early 20s, overweight, lazy, long greasy hair, hardcore gamer, living in mom's basement, you own a third rate katana, you wear a trench coat and some dollar store pentacle or Celtic necklace, big collection of Dungeons and Dragons shit, you tell people you're a Buddhist but have never read any of the buddhavacanas , you love Twilight, you hate work, you tell people you're geek but you've never had a single program work right, you hardly graduated public school and never even attempted college, like to talk science but you don't know the first thing about how anything works, you know even less about mathematics.
Yeah I know who you are, comic book fag. You're all the same.
P.S. Have a blast working second shift on a Friday night at the local Subway. You didn't have anything else going on anyway.
Unit tests are only as good as the programmer that programs them.
Many times, your solution is not cut and dry.
http://xkcd.com/224/
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
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
Yup. And the TAP framework (Test::More) is super easy to link with requirement management frontends.
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.
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?
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.
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.
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?
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.
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.
I guess "flamebait" is slashdotspeak for disagree.
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.