Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
Perl Programming IT

Perl's Glory Days Are Behind It, But It Isn't Going Anywhere 379

Posted by Unknown Lamer
from the duct-tape-joke dept.
snydeq writes "Deep End's Paul Venezia waxes philosophical about Perl stagnancy in IT. 'A massive number of tools and projects still make the most out of the language. But it's hard to see Perl regaining its former glory without a dramatic turnaround in the near term. As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options. Perhaps that's OK. Perl has been an instrumental part of the innovation and technological advancements of the last two decades, and it's served as a catalyst for a significant number of other languages that have contributed heavily to the programming world in general.'"
This discussion has been archived. No new comments can be posted.

Perl's Glory Days Are Behind It, But It Isn't Going Anywhere

Comments Filter:
  • Wait, what? (Score:5, Insightful)

    by girlintraining (1395911) on Tuesday January 29, 2013 @05:10AM (#42723925)

    So let me get this straight: A programming language that found a niche, became massively popular, and is now widely used... is a failure in your eyes because it's not in a constant state of change?

    You're kidding, right? The epitome of a successful programming language is that it has become flexible enough to meet the needs of its users without requiring more than maintenance fixes. This is like saying "grep is useless because nobody's completely redesigned in in the last few months!" Dude, stop drinking the Web 2.0 kool-aid. There are things in the computer world that aren't meant to change every day. I know it's hard to imagine when every pundit is screaming "release early, release often" from every rooftop, but speaking from experience... If you go mangling your programming language every few months like (cough, .NET) some companies do, you're going to find your developers bailing out like rats from a sinking ship.

  • Re:Wait, what? (Score:5, Insightful)

    by LordLucless (582312) on Tuesday January 29, 2013 @05:18AM (#42723953)

    So let me get this straight: A programming language that found a niche, became massively popular, and is now widely used... is a failure in your eyes because it's not in a constant state of change?

    Uh, no, that'd be you putting words into the writer's mouth. How about this:

    As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options.

    It's not failing because it's not changing, it's failing because less people are using it. The lack of it integrating shiny new features may be one of the factors contributing to this.

  • Re:Wait, what? (Score:3, Insightful)

    by jellomizer (103300) on Tuesday January 29, 2013 @05:25AM (#42723971)

    Perl popularity is due to its text file processing ability. Back durring it's high points relational databases were expensive and resource hogs. However with faster systems and lower cost or free databases available, Perl need has declined.
    Your sites data is no longer being processes in a large text file but in a database. (Granted the database may internally doing the same thing)
    It isn't that Perl is bad but it just isn't as useful anymore.

  • Re:Wait, what? (Score:4, Insightful)

    by dargaud (518470) <[ten.duagradg] [ta] [2todhsals]> on Tuesday January 29, 2013 @05:33AM (#42723999) Homepage
    Yeah, perl got popular for several reason, such as its ease of string manipulation. But it soon turned into 'use regex for everything'. At the time no other languages (except for sed, but calling it a language stretches it a bit) had easy regex, but that's no longer true. And its extreme compactness is also a hindrance as it turns any reasonably optimized code into symbol soup.

    I also find this TMTOWTDI (There's more than one way to do it) philosophy frustrating. I did Perl for a year, wrote clear but slow progs, went to usenet for advice, got a first prog half as long and twice as fast, then a second... and at the end of the line a great one-liner that was plain impossible to understand.

  • Re:Wait, what? (Score:4, Insightful)

    by tlambert (566799) on Tuesday January 29, 2013 @05:41AM (#42724037)

    As more time goes by, Perl will likely continue to decline in popularity and cement its growing status as a somewhat arcane and archaic language, especially as compared to newer, more lithe options.

    It's not failing because it's not changing, it's failing because less people are using it. The lack of it integrating shiny new features may be one of the factors contributing to this.

    I agree that that's what the article author is saying; he specifically cites release timeliness and "forward progress", which he goes on to define as additional features.

    I think this is in error. Perl is less maintainable than other languages, due to the myriad of "correct" was to implement solutions to various problems, and once the challenger language in question has evolved to the point that it can map a sufficient portion of the problem space mappable by perl, it was inevitable that it be displaced. As the article author states, it's not going anywhere, but, like COBOL, you aren't going to be seeing significant new code bases written in the language.

    Python, I think, owes its popularity in no small part to being an official language in places like Facebook and Google; perl is specifically prohibited in all cases in both companies. If one language is used by a company where it's desirable to work, and another is prohibited, which language are you going to learn?

    PS: I think the best place to look for perl's health, or lack thereof, is the coverage for systems interface changes in CPAN. If perl get coverage for significant new APIs, but not other APIs, then it's still alive; otherwise, it's on its way to legacy code and/or deprecation. For example, if there's support for membuf, ioevent, and similar interfaces, I'd say perl was far from dead.

  • Re:Wait, what? (Score:5, Insightful)

    by solidraven (1633185) on Tuesday January 29, 2013 @05:47AM (#42724073)
    No, you look at Perl in the wrong way! The camel is good at what it's designed for. It won't do it neatly but it'll get the job done. Need to hack two incompatible systems together quickly? Perl is there for you. Need low level access from a scripting language? Perl fills the gap. And in terms of performance the old camel still gives a lot of new "optimized" languages a run for their money. It's also one of the most flexible languages out there. Name a few other scripting languages that are used on such a wide range of systems? You'll encounter Perl on the small embedded systems and on large clusters. It simply adapts to the task at hand. It's sort of like Fortran and Ada in that, many people are against it but those who are familiar with it know what it's capable off aren't going to drop it cause it looks ugly to the younger programmers.

    In case you're wondering Fortran is the best data crunching language out there and Ada is in a league of its own when it comes to reliability. Idealism doesn't have a place in engineering, you use the right tool for the job and stop whining about how easy it is to use or master.
  • What is Perl? (Score:5, Insightful)

    by prefec2 (875483) on Tuesday January 29, 2013 @06:25AM (#42724231)

    Perl is a historically a combination of bash, awk and sed. And for purposes well suited where people would use the former three tools to implement shell scripts to help administration tasks on a daily basis. However, Perl is not so well suited for other purposes, like small and medium sized web applications. Therefore, it will not gain any more ground in that area, as better tools are available. The first Perl enemy was PHP. While PHP sucks in many ways, it was better designed to write simple dynamic web pages. Today it is used for medium sized web applications, which is clearly a dangerous thing, but still it restricts the growth of Perl in that direction, as younger coders came first in contact with PHP and all the hosters support PHP, but not everyone is supporting Perl. Also things like Joomla or Typo3 are PHP based and many people start coding by extending them.

    For custom application or other mostly larger system Java-based or .NET-based technologies are used. Perl has nothing to do in that area. It lost its job there many years ago. InterShop was once coded in Perl, but - well - who cares?

    As the Unix command shell is only a limited realm (in number of installations), Perl will never become that widespread again. At least that is my assumption considering today software base and structure, as well as the education in programming languages.

  • Re:Wait, what? (Score:5, Insightful)

    by ThePhilips (752041) on Tuesday January 29, 2013 @06:25AM (#42724233) Homepage Journal

    That is excellent. Considering that that particular benchmark is arithmetical and Perl has nearly zero optimizations for the arithmetic.

  • Re:Wait, what? (Score:5, Insightful)

    by Tridus (79566) on Tuesday January 29, 2013 @06:42AM (#42724297) Homepage

    That "bloody whitespace" is one of the reasons your average python code is more readable than your average perl code. You don't see a lot of python code that should actually be 30 lines but is crammed into one because the developer though that line breaks are some kind of precious resource.

  • Re:What is Perl? (Score:4, Insightful)

    by guacamole (24270) on Tuesday January 29, 2013 @07:02AM (#42724401)

    And then don't forget the threat from Python. Python is a true general purpose scripting language. You can do web applications, sysadmin scripts, or say numerical number crunching (see scipy and numpy). It has very clean and simple syntax rules. On the other hand, Perl looks like an alien language to people who are not familiar with unix.

  • Re:Wait, what? (Score:5, Insightful)

    by arielCo (995647) on Tuesday January 29, 2013 @07:38AM (#42724581)

    $foo is one (scalar) variable, which is not the same as @foo (array), and %foo (hash) and foo (file handle), which can coexist without interference, and no Perl programmer will be confused by that (we actually think of the sigil as *part* of the name, as in "dollar foo" and "percent foo"). So it's not redundant syntax, which Perl avoids like the plague.

    They're also there to ensure that you're getting the right kind of value when you build an expression, like @stooges = @people{('curly','larry','moe')} (stooges is an array, people is a hash). That is the kind of compact syntax that makes it popular as opposed to iterating over the keys to add the values to the array.

  • by MrKaos (858439) on Tuesday January 29, 2013 @07:40AM (#42724587) Journal

    just usually not with perl...

    ...the opinion I got from many management types were Perl was just a little too clever. Personally though, I find the challenge of crafting regular expressions interesting puzzles to solve, just like a more geeky crosswords. I'm better at sed and awk than with all that Perl has to offer but I found a similar scenarios. Even though the solutions look succinct, neat and, apparent to you the problems worth solving to the limit of your understanding could not be maintained by people without it. Unfortunately few people want to put the mental effort into gaining the understanding, which is what the problem is for Perl.

    I like Perl, I'm just not very good at its subtilties yet, but when I get there I'll probably be another fan like many are. Perl's glory days aren't behind it, it just takes a lot longer to appreciate what Perl offers.

  • Re:Wait, what? (Score:4, Insightful)

    by dskoll (99328) on Tuesday January 29, 2013 @09:22AM (#42725461)

    That's utter nonsense. Perl's DBI modules are fantastic for DB access.

    Perl is just not shiny and new any more. It's still used in a lot of places. Our commercial products are written in Perl and I like the fact that Perl isn't changing wildly. Perl 6 worried me for a while, but it's obvious that Perl 6 is going nowhere and Perl 5 is continuing to be maintained.

When you don't know what you are doing, do it neatly.

Working...