The future of Perl? (Perl 6, employability)
Asked Answered
H

9

21

I've found a few related questions, like Python vs. Perl (now deleted) and Is Perl Worth it? (now deleted), but I can't seem to find anything that directly addresses this question.

Is there a legitimate future in Perl? I work in a Perl shop right now, and I came from PHP so I see some of the advantages of an arguably "lower" level language when doing things on the server-level, but it seems to me a lot of the tasks in Perl can be performed more quickly in PHP, and SOME ARGUE (subjective, not my opinion) that Python does these tasks in a more explicit way that's easier to maintain.

Is having this job on my resume ultimately going to make me less employable, especially if the language no longer grows?

A few notes:

  1. I love Perl, so don't think I'm bashing the language. It's fun to use and we use a fairly verbose syntax that is relatively easy to maintain.
  2. I realize that "Vaporware" is a buzzword that isn't necessarily applicable to this situation, because Perl doesn't have a marketing department and they're not "promising" Perl 6 by any date.
  3. I realize that CPAN keeps the community going, so whether Perl 6 comes out or not people continue to build modules that increase possibilities in the language, but that doesn't mean that industry shops realize this, and switch to "more supported" languages that keep coming out with revised versions of the language like Python and (especially) PHP.*

EDIT {CLARIFICATION} Cade Roux and Telemachus both brought up good points about whether or not your future can be defined by your resume.

To be honest, this was brought up when one of my former employers said "I don't hire anyone with Perl as their last job. That's OLD technology." This was a PHP shop, so take all that with a grain of salt.

Now without defaming my former employer, she's not a tech person AT ALL, so she was really expressing an opinion of a layperson, and in this case my question was more along the lines of "Is there a stigma on this particular technology placed on it by people who don't utilize it?", specifically more along the lines of people who may have had past experience with similar employers. I'm not asking you to look into the future with a magic glass to assume what the next "hot" language would be, but rather if this particular language (which is accused of stunted growth, again by laypeople) has negative connotations placed upon it.

I hope that makes a little more sense.

Highpowered answered 15/10, 2009 at 14:26 Comment(10)
This should clearly have been CW.Idiocy
"That's OLD technology." LOL! I guess she didn't hire any tcp/ip experts either then. Are they still in business?Yet
*... and more fully in Python" is not only wrong, it can be considered a snide remark. So I removed it.Medius
I went ahead and re-edited it. I didn't intend for that to be a snide remark, but I can't argue whether its right or wrong. It's an opinion that people have about the language, and my point of this question was to determine if those opinions are quantifiable, or at least relevant by anecdotal evidence. Thanks for the heads up, though!Highpowered
I did say that it could be considered a snide remark. The main reason I removed it, was to reduce the number of down-votes this question would get.Medius
If you want to find out why this question was closed go to meta.stackoverflow.com meta.stackoverflow.com/tags/specific-question meta.stackoverflow.com/search?q=closedMedius
I understand why it was closed, it started as a fairly subjective inquiry for anecdotal evidence on the industry and Perl, but it evolved into a discussion, and that's probably my fault for being so active in responses. But I realized there was no such question regarding Perl 6 or Perl's "future" as it were on SO at the moment, and I felt it was necessary to ask it since I couldn't find an answer to those questions.Highpowered
@Brad Oh no, I didn't take it as an attack on me, I appreciate you catching it. I didn't realize it could come across that way, so I edited it to say something more along the lines of what the expectations of the community are. As I said before, I appreciate the heads up!Highpowered
I'm voting to re-open... although I would suggest editing the "vaporware" out of the title as it does sound a bit argumentative whether it was intended to or not.Malnutrition
That's a good point. I'll take it out.Highpowered
M
32
  • Plenty of shops - including on Wall Street - heavily use Perl and will continue to do so.

    However, I have never seen a PHP or Python used in this industry (not saying it is not used, but that I never encountered. Purely personal anecdote. Nor have I EVER heard any conversation of "Perl can not do X that Python can, let's use Python").

  • Perl6 is irrelevant to job picture.

    • Many shops are still on 5.8 or G-d forbid 5.6

    • More importantly, perl5 continues to evolve, including with features/ideas from Perl6. See Perl 5.10 and 5.11

    • Plus evolution includes really cool framework like Moose etc...

I can probably come up with more bullets later, but the summary is that no, having a Perl job will in no way negatively affect your career prospects.

However, knowing nothing but Perl may affect it negatively, so make sure you know Java, C#, C++ or something besides dynamic interpreted languages. Not many shops would hire "Perl Only" developer, even if they gladly hire "Perl + other stuff" ones.

Malnutrition answered 15/10, 2009 at 14:31 Comment(10)
Thanks for your answer! Yeah, I'm sure the community is growing regardless of the revision number of the language, but I'm not positive that Wall Street is a great example of the job picture given the current economy.Highpowered
@Nate - not sure what you mean. There were job losses. None were related to Perl or not Perl. I worked for 2 shops that used Perl. One went bankrupt. One became one of the (if not THE) most important financial company within last 2 years specifically because of economic picture.Serpens
Well I'm not arguing that Perl caused the loss of those jobs, but it was my understanding that the comment had to do with the industry that has a need for perl, and if a company goes bankrupt or shrinks, it cant afford to hire new support staff to develop on its application. I work for a company in the financial industry, to be honest, and we're growing, but that's not the general trend of this industry at the moment, as far as I understand.Highpowered
How about the New York Times i.e. Devel::NYTProf search.cpan.org/perldoc/Devel::NYTProfMedius
Chose this answer because it addressed both the vaporware and "employability" aspect of the question.Highpowered
+1 @Brad - I've often wondered where NYTProf's name came from. Never occurred to me to think about what "NYT" by itself might mean...Schulein
@Dave, all you have do is read the documentation. (Go to the bottom of search.cpan.org/perldoc/Devel::NYTProf )Medius
The good Perl people I know don't ever use a résumé. IF they lose their job for whatever reason, they tend to already have one before they walk out the door of the old place.Embryonic
Brian - does this set include people who have NOT published a Perl book or written a major CPAN module? :)Malnutrition
Yes, that set includes many people you've probably never heard of.Embryonic
G
22

See Tim Bunce's Perl Myths slides on slide share.

In short, Perl is not dead and has lots of jobs available.

Genteel answered 15/10, 2009 at 14:36 Comment(0)
M
16

Anyone who actually watches the development of Perl, would know that that there has perhaps been more work on the Perl language in the past decade, than in the previous decade.

This has been spurred on by the introduction of Perl6.


The introduction of Perl 6 spurred on, the now deeply ingrained, testing culture.

Just look at how much the Rakudo implementation of Perl 6, is tested:

Rakudo Progress http://rakudo.de/progress.png


There has also been a lot of back-porting of Perl 6 features into Perl 5.

For example, the Perl 6 "switch" statement

#!/usr/bin/perl
use strict;
use warnings;
use 5.10.1;
# or 
use feature qw'switch say';

my $str = "testing 123";

given( $str ){
  when(/(\d+)/){
    say $1;
  }
  when( [0..10] ){
    say $_, 'is equal to some number between 0 and 10';
    # given, sets the current topic "$_"
  }
}
Medius answered 15/10, 2009 at 16:21 Comment(1)
Thanks for the figures! I am excited to learn more about Perl 6. Right now we're working in 5.8.8, but I think we're to the point of supporting legacy code, so we have to be very gradual about new language features. But its good to see that the language is still growing on the outside of this box.Highpowered
M
13

There are few languages I would tie my career to. Perl will always be there and it will always be the best tool for certain kinds of jobs. But this is true for many languages. However, there are also languages which have more competition in some of the spaces where they are used. Perl is one language that has a lot more strong niches.

Still, you wouldn't restrict yourself to using just one language for your entire life - or even in one project if there are better options to solve a problem.

Career-wise, there are basic technologies which are fairly universally used, and of these I think a few of the most valuable are: relational database concepts and SQL, XML/HTML/HTTP/DOM, regular expressions. These are all basically independent of any particular vendor or language, and if you are strong in these areas, choice of language and platform are going to be informed by the problem being addressed.

Microhenry answered 15/10, 2009 at 14:44 Comment(1)
Thanks for your answer! I suppose my worry (which now seems silly) had more to do with the fear that a language would actually serve to make my skillset seem aged or "passe." Possibly if I want to work for marketing companies, but I'm starting to see via these answers that some business application somewhere will use Perl.Highpowered
C
10

Perl is, and always will be, a practical language for manipulating large amounts of data. I work in an industry where moving, converting, and parsing large amounts of text and image data is what we do, and I couldn't live without Perl.

Likewise, if you're a sysadmin (especially a Unix one), Perl is a necessary tool. There are tons of places where you need to be able to whip up a quick and dirty application that runs right along with the shell functions.

Languages have niches. Perl has a big stable niche, in many ways much more stable than fad-driven web languages. PHP, for example, is a nice little web language, but its saving grace is that it's quick and easy to develop in, not that it is a particularly great language. I'll tend to use PHP over Perl for web applications (though I use Python over PHP, if I have time), but 90% of the stuff I do in my day-to-day would be nearly impossible in PHP, and is flat trivial in Perl.

@Nate: I love Python. LOVE it. I actually worry that I love it too much, and I'm being irrational about it. PHP is a nice tool, but when your main selling point is "Quick and Easy" then you're running a risk. That was the big push behind original Visual Basic, and we all know how that worked out.

Calisa answered 15/10, 2009 at 14:32 Comment(6)
By this comment, are you inferring that Python and PHP are fad-driven web languages? If so, what qualifies them as such? I do agree with you on the potentials of the language to expedite shell tasks and so forth though, I hadn't thought of that particular use case. Thanks for your answer!Highpowered
@Nate: you want to ask if he's 'implying' something about PHP or Python. The speaker (or writer) implies, the listener (or reader) infers.Homograft
My bad, I was trying to avoid the common mishap, where the condition itself implies something, and the listener infers from that implication. I actually looked it up because I thought I had been doing it wrong all this time, turns out my first instinct was right. D'oh.Highpowered
He meant that PHP is a fad language, not Python.Medius
I see that now, thanks to the comment about loving Python. And I would agree except that I think PHP has made a lot of steps to avoid that since PHP5. Hopefully it'll do what AS3 did and have a mode that doesn't allow deprecated functions and methods, but I don't know how realistic that is for a server-level language.Highpowered
One point of interesting trivia - the initial versions of PHP where based on Perl.Felishafelita
I
9

I'd discourage you from putting Perl on your resume - there's already too many people in the perl market and we don't want any more! ... just kidding.

The past is supposedly no guide to the future, but, despite having plenty of C (etc.) and Java in my 'skills toolbag' I've seen more gainful employ from my Perl than anything else over the last decade.

I suspect that offshore-perl-new-build may not be the biggest market in the future, but there's certainly active development in the city and media industries in the UK.

Otherwise, I'd just agree with the points above. Technicians with diverse skills are more able to pick the right tools, and less inclined to 'get religious' about language choice.

If you're looking at a post where the non-technical management have a strong point of view about what technology should and shouldn't be used - I'd place that one in the 'avoid' pile.

Imp answered 15/10, 2009 at 16:49 Comment(1)
Great points! At this point in my career I'm still fairly pretty new, so I take jobs based on if and when they pay. But I'm with a great company now that has excellent management and plenty of freedom, so I was worried about falling into the trap of sitting still and resting on old tech and building up a personal tech debt on my repertoire or skills that kept me from finding work in the future. It seems like for the most part lately, the employers don't care much for elegance or novelty, just function. Which is probably good.Highpowered
M
6

To add another separate answer - as you have noted - there is a very real danger when dealing with recruiters and others that your resume will be interpreted and things inferred that are not necessarily how you see yourself, and you might get pigeon-holed.

This WILL happen both ways - too much variation and you aren't an expert in anything OR too little variation and you are only good at one thing.

I don't have a simple answer for combatting that, except to ensure that you emphasize portable skills and also achievements which are independent of technology - making the company more money, landing new business, making new markets, etc.

Microhenry answered 15/10, 2009 at 15:46 Comment(1)
Excellent answer! Thanks for it. My current supervisor likes to say that developers are "inventors" and the language is irrelevant, it's about how well you can create a solution utilizing the tools handed to you. My concern was that I'm hearing that from someone in a Perl shop, and people on the outside of Perl might disagree. Thanks again! I'll focus on more quantifiable business goals for the time being.Highpowered
P
5

Perl is another tool in your toolbox. If I have an opening and one person is narrow focused to a specific technology, and another has a broad range of skills I would be more inclined to hire the one with the wider range of skills even if they might not be quite as deeply knowledgeable. Some one who has a wide range of skills on a range of platforms is someone who can think, innovate and adapt.

Painty answered 15/10, 2009 at 14:52 Comment(1)
Thanks for your answer! I added some clarifications after this answer to explain my fears of a stigma attached to the language, which I think are mostly turning out to be unfounded given the nature of the industry.Highpowered
H
5

I don't understand the point of this question. You have a job and you already know Perl. You can ask whether or not to learn new languages and which ones to learn (please don't, but you could), but none of us can or should predict whether or not you're going to get another job using Perl.

You ask, "Is having this job on my resume ultimately going to make me less employable, especially if the language no longer grows?"

Well, it's better than a blank resume, and you can't change your past, so really what are we talking about here?

Homograft answered 15/10, 2009 at 15:7 Comment(2)
+1. Your career is dead if you let it be. You're not defined by your past jobs; they are a glimpse into what you have proved you can achieve.Jefferey
I'm going to add a clarification to my initial question to address this concern and another brought up by Cade Roux.Highpowered

© 2022 - 2024 — McMap. All rights reserved.