|Signs of the Death of Perl?|
I try to pop in to this "Perl Server Side CGI Scripting" forum from time to time and see if there are any newbie questions I can answer or maybe pick-up a few new tricks.
Today marks the longest period of time I have seen between Perl posts here at WebmasterWorld --- (1) complete month!
Today is May 24, 2010. The last post before this one was April 24, 2010... ("FormMail.pl problems from a newby script generates error")
So I ask: Is perl dead (or dying) ?
I would say that Perl is dying. It is still useful to know, but it won't be many people's first choice.
I'd say it's not most beginner's first choice, and since usually the beginners are the ones filling up the forums, it gets silent.
But yeah, I keep checking too and shed a single tear for each week that goes by without any posts.
IMHO, the appearance of a "formmail.pl" question in 2010 should prove beyond doubt that Perl (and perl) is very much alive
Btw. "no problems" ne "no life" ;)
Hell no it's not dead. It's just that all the newbies are jumping on the PHP bandwagon, and the more I learn about PHP, the more I love Perl. I always hear, "Perl is sooooo 1995, this all needs to be redone in PHP, time to live in 2010 . . . . " It's as bad as the XHTML/HTML argument, or Mac vs. Windoze. People say this because they don't have the patience to understand how to do in Perl a lot of what's done in PHP FOR them.
I work a lot with PHP, mostly fixing stuff, and I can say, a little bit of knowledge really IS dangerous. You don't find this as badly in Perl scripts, I've worked with some Perl scripts that make my head spin and make me feel like a newb. With PHP I see spaghetti tangled like a mass of golf string, HTML mixed with PHP through 5K line documents making it a maintenance nightmare, the same "class" scripts/includes pasted in a million places across a 40 page site because they are still stuck on relative directories instead of full paths, it's insane. The whole world has become a copy and paste nightmare, it's like, "Keep poking at it until the fire starts up. Sooner or later it will work."
Call Perl the duct tape of the Internet? PHP is the scotch tape of the Internet, anyone can afford to learn it and make something of it.
Not to say PHP sucks, it's every bit as powerful as it's been advertised, and I've seen some extremely elegantly done work, but the majority I've had access to is a mess.
My favorite quote from an I-hate-Perl PHP evangelist: "So what is it you hate most about Perl?"
"Bah. Perl has no null pointers."
For once in my verbose life I was completely speechless. He really didn't like his real answer, so that's what he came up with. Ah well . . . .
|The last post before this one was April 24, 2010 |
all the outstanding perl issues were fixed as of that date...
ironically, april 24 was right about when all the php-based malware attacks that affected many shared hosting (e.g. netsol & godaddy) sites (mostly but not entirely up-to-date wordpress installations) were being reported in security blogs.
PERL and PHP are not targeted to the same purpose, so comparing them is like comparing apples to oranges.
PHP is great for generating Web pages (Hypertext), and PERL excels at handling back-end server stuff.
Also PHP is more like SSI (server-side-includes) code where "the page contains the code," whereas PERL is more like "the code contains the page." (I always feel like I'm turning inside-out when switching between the two... just my way of thinking about it.)
I often suspect that folks who argue strongly in favor of one or the other simply haven't taken the time to learn both -- or perhaps they work exclusively in only the "Web-page-generation" or the "back-end-server-stuff" areas. So in many cases, I think that the argument presented is really, "I only know FooFoo, so FooFoo is the best scripting language." It's often really an exercise in self-validation (or some such psycho-babble term) just like Ford versus Chevy or Apple vs. Windows -- Whatever I bought (or know) must be the best!
Since more Webmasters create pages than do complex server stuff, it's not surprising to me that the PHP forum is much busier.
Good languages both, and both worth learning.
I laughed a little to myself at the timing of this post, as I was just musing over the "dead or not-dead" Perl debate a few days ago with some friends. Sometimes it feels like depending on the day of the week (or what article/blog you read most recently), Perl is somewhere between "it died a few years ago" and "it is starting to see a resurgence".
For me--and I suspect many other long-term Perl developers--Perl is just one hammer in the web toolkit. It may not always be the newest hammer, or the sexiest, but it definitely is useful when you need it. And if you are like me, you reach for it because it is familiar to work with and you can make it do exactly what you need. That's not to say that you can't "shine up" your old hammer. A lot of the sites I program now are what I would consider very modern Perl (Cataylst MVC framework, DBIx::Class for the database, Moose, etc.). Not to get off-topic, but there are many who would put Catalyst up against Ruby on Rails or Django as far as speed of development and flexibility of the framework.
In my opinion, Perl is dead when it ceases to serve a useful function for the majority of people who still use it. I've dabbled in PHP, and like rocknbil, I came across so much awful code, it left a bad taste in my mouth. The barrier to entry in PHP is so low, the web is flooded with poor coders who learned just enough to start making basic pages. (I've done add-on work for commercial PHP software before that was so low-quality, I would have been very upset had I paid for it). For a while, I started learning Python and Ruby as post-Perl scripting languages. While they both are solid languages that have their various pluses, I always keep coming back to Perl not just because it's what I know best, but because at least for the work I do, Perl still handles everything I ask of it. Maybe the syntax is too arcane and complex for a lot of people, and maybe the fact that Perl 6 has taken almost half the life of the language to move on from v5 has put off others, but at the end of the day, it is still a highly functional language that is still evolving. Perl may be in decline (or not), but it will take a very long time for all of the existing Perl folks to die off.
Whenever I think perl might "die", I think about how much the hourly rate was for cobol and dibol programmers in the 80's. Hotel reservation systems, banks, etc.. back then you'd see desperate ads offering $200/hr for emergency service when $20-$30/hr could get you a great programmer in any of the modern languages.
I'm at about 90% perl and 10% php these days.
I don't think Perl is dying, WebmasterWorld runs on perl and has none of the issues other common forums software have despite the amount of traffic we see here.
As for the battle of PHP and Perl, PHP is easy to learn and mix... I think its structure makes easier to begin being a copy paste "programmer". Some functions are removed over the years and makes harder to keep the same original apps running in the future.
I use both technologies but stick with Perl. Many security issues rely on the programmer, not the language per se but is very hard to come across a perl scripts (if ever) that gets downloaded as source code (plain text) just as it happens with PHP.
I think the silence across the forum happens because Perls great source of info and longevity, you can find a lot of questions already answered.
Perl will only "die" if servers stop supporting it. And why would they? No reason that I can see. Including the Perl support is easy, and when so many people use it, why would a server company remove the ability to run it?
Yes, perl is dead. forget it ever exsisted. Go away.
(man I'm gonna get swamped...)
perl may be dead on your side of the monitor, but you failed to notice that all 213 of your posts and 3-1/2 years of reading threads on WebmasterWorld are by way of perl.
LOL . . . this is turning a corner that sounds familiar, hmm, what is it . . . Perl vs. PHP . . . Ford vs. Chevy . . . . Mac vs. PC . . . . .
I think what annoys many new age programmers about Perl is that they have to work harder to grok it.
Oh, this old chestnut. When it stops being useful it'll be dead. It's definitely not trendy but I've used it for everything from assisting my scientific data analysis (where core was C++) to making web pages to grocking data to writing spiders and automating webhosting stuff. I cringe to think what it would be like to write a lot of that stuff in PHP or C++. It may be a niche language but I know for a fact that some of the largest banks in the world rely on perl to manage BILLIONS of dollars daily, and some of the best websites still rely on it (ahem). So, if you want to be trendy use something else. If you want to be productive use Perl.
Sorry to resurrect this thread, but I thought I would add my 10p of opinion.
I am predominantly php, and have been since around 2003 ish I can't remember when exactly, and html from roughly 1996, and I am JUST starting to come round to the idea of learning perl. Work based reasons, but non the less, I shall try it out - installed on my local server & happily trying and learning.
In doing this I have learned the fundamental difference between this (PERL) & php - php is much easier to interlace with html, ie jumping in and out to make life easier, though I do now advocate trying to keep the html and php totally seperate just to make maintenance easier (as Rocknbil mentions)
Conversely I am finding that perl is no where near as flexible to fick in and out of, actually I don't think it's possible, and even if it is, it wouldn't be considered good practise.
Personally I like the idea of learning a new way (even if I am out of touch with time, I do C and assembly so why not ;)) but I am seeing that the application of the language and the context in which it is used is very different - you don't use it to generate the "main content" of a website, you can but it would hog the servers cpu I would think.
I have a large book and big coffee pot and I intend to be productive by the end of the week, well next week anyway ;)
I certainly don't think that perl is dead though, as others have mentioned, big companies, banks and suchlike use cgi as their back ends - and this very forum/WebmasterWorld uses it to great effect.
Also looks good on the CV too.
Again, sorry for resurrecting this thread but I found it a good read and quite helpful.
Hey Matthew1980, I am curious to know how you got on with Perl in the end? I also work mainly in PHP but have considered learning Perl - whats your verdict?
morehawes: I'll admit that my knowledge of PHP is pretty cursory, so this might not at all be the case, but would you (or could you?) use PHP to write server-side only scripts and helper programs? One of the things I've enjoyed about Perl is that I can use it as my go-to language for doing the processing and display logic for web sites, and then also use it for any heavy lifting or system admin tasks on the backend. In fact, I've worked before with sys admins that are an entirely different type of Perl ninja in that they use it to supplement or even replace complex Bash scripts--and most of these guys never touch web-based Perl code.
mattdw: yeah, you can, although it's not done much.
php offers a command line version called php-cli (or just cli). I've seen someone writing a protocol redirector (udp => tcp, with some manipulation) in php, but it's definetly not a widespread idea.
I use both languages and actually started with Perl. Mostly CGI programming at first but quickly realized Perl's potential at the command line. PHP is also effective at the command line but I still find myself using Perl there more often than PHP when I need or want to push some more advanced programming from the bash prompt.
I think the reason you do not see PHP in use as much at the command line as Perl is because of the level of user. Most PHP developers are exclusive to web development. Perl hackers, more often than not, know *nix systems and are comfortable at the command line when working at the OS level. I'm not saying PHP developers at large are incapable of command line programming now, mind you. I just believe that the larger majority or percentage of PHP'ers are using the language for developing web sites. Using a text editor or WYSIWYG editor is comfortable to them. A command line is intimidating.
I am surprised my hosting company has no idea how to configure apache and perl. It could be dying.
|I am surprised my hosting company has no idea how to configure apache and perl. |
You don't need to specifically configure Apache to run Perl in CGI/FastCGI mode. Only mod_perl requires special configuration.
i've always done php, and use simple bash scripts for command line stuff. every now and then i get out my perl book (the one with the camel on the front) and try to get beyond the first few chapters, but i always get bogged down.
We are a loyal perl shop. :-)
It is fast and that is all we care about. Plus in today's world of high speed caching solutions what language you program in is not so relevant anymore for performance.
I hope it's not dead. I only discovered it a few months ago, and am finding it perfect for various Linux tasks that require something more than bash/grep/sed/etc., for one-time-use utility programs, and it looks very promising for use as the backend of a web application where speed is important.
There is an amazing variety of modules available, which makes it possible for a beginner like me to accomplish tasks that it would be very hard to write from scratch.
It's possible to write programs that work just the same in Linux and Windows. When I found a needed module missing from my Windows installation, I copied it over from my Linux installation, and it works just fine.
It's hard to imagine that something so broadly useful would fall into disuse even if it's not the latest, hottest thing around that a million people a day are deciding to flock to.
So far, I don't think I've posted any requests for help with Perl in this or other forums. The manual is good, and I'm a general believer, possibly in common with many other people who are drawn to Perl, in the value of reading and studying manuals first. I've done web searches to look for information and examples. With such good work done on the language, I feel some obligation not to consume the time of Perl experts (some of whom are likely the authors of the modules I'm using, for which I'm grateful) with basic newbie questions that I can probably find the answers to myself, and will understand it better for doing so.
It wouldn't surprise me if that profile matches that of many who have either been using Perl and/or Linux (or are just discovering them now), but if it does, it might be part of an explanation why Perl forums seem less bubbling with activity than others.
I've been having a great time with it.
|SteveWh, "Perl is dying" is a FUD. Perl (as language) stagnated for some time, but number (absolute) of CPAN developers, Perl project, etc. was raising even in that period. Now Perl has regular releases: 5.14 is planned for spring. Moose, Catalyst, DBIx::Class, POE, Padre IDE also contribute to increasing popularity of Perl.|
For using Perl on Windows, look at Strawberry Perl, it makes installing modules from CPAN easier than on ActivePerl.
There are less of Perl questions because of perlmonks, very popular site for Perl questions and irc://irc.perl.org. Many questions are answered there, Perl is the only language that got it's own IRC network. I guess appearance of StackOverflow also contributed to less Perl questions.
For good book about Perl look at "Modern Perl" by chromatic. It is not published yet, but draft is available online.
SteveWh - there are a fair number of resources linked from the Perl Server Side CGI Scripting forum Charter: