Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Migrating from Perl to other language? Why would someone do that?

by pmu (Beadle)
on Nov 21, 2013 at 19:08 UTC ( [id://1063784]=perlmeditation: print w/replies, xml ) Need Help??

Respected Monks,

I have been using Perl for many weeks now and thoroughly enjoy the process of learning it and implementing it in my environment. Perlmonks by far has been the main reason why I could pick up Perl so fast. Monks here have been very helpful. I have always got clear and honest answers and hence thought I should bring up a recent incident. Please understand that the only reason to write this is I really truly seek some clarification. I like using Perl and neither have the inclination nor the required deep technical knowledge to differentiate the technical nuances, advantages, disadvantages of any language, especially something as mature and vast as Perl. So kindly note that I do not intend to sound like I am belittling/deriding Perl.

I happened to discuss the scripts and my plans of automating many more reports and error / failure alerts with some technical managers and developers here and they appreciated it, but some of them seemed amused that I am using Perl. For some reason, they directly/indirectly kept bringing up Python and Ruby stating that now a days it makes more sense to learn these langauges. I tried Python quite a while ago, even before the above discussion but could not really get a hang of it. The whitespace and the scope issues kept biting me. I was infact told that most organizations are in the process of "migrating Perl scripts to Python". Few of them even stated, "If there's just one scripting language you wanna learn and get good at, use and stick to Python because everyone is using it and all the new stuff is done in Python. It's much more modern, more powerful and flexible than Perl, and definitely more legible and there are more Python jobs than Perl jobs so that should tell you which language is more in demand". Another guy stated that Python/Ruby are truly Object Oriented languages and it makes more sense to learn them.

I've contacted these guys before for certain issues and they were always helpful and I am amazed no end why they think this way. Some of them are good well meaning friends as well.

I therefore request the monks here to please shine some light on this issue.

How and why would organizations move away from Perl? Is it because Python is easier to learn? From whatever I have seen of Perl in past few weeks, its one fine language and especially for scripting and text manipulation, I don't think there is any other language that can come even close to it. So why is this step brotherly treatment meted out to it? What would organizations gain by moving away from Perl? Just that fact that there are more Python guys out there than Perl guys?

In my extremely limited understanding, a scripting language or the scripting facet of a language is a way to get a job done, to get a goal accomplished, or get a desired automation done. Why would someone really bother which sort of language is being used? It's not like I am writing a kernel or some big software. I just write scripts that automate things, that send the outputs, reports etc. They why so much focus on which language it should be done in?

The question that's stuck in my mind though, is, why are people moving "away" from Perl? It's not like its a Technology Refresh where you have to move your servers/storage/databases/applications from "End of Life" Hardware/software to something new. Is this a common phenomenon?

I once again humbly state that I do not intend to deride Perl. But at this point I am really really confused.

|| Aeterna Est Perspectum Cognitio ||
  • Comment on Migrating from Perl to other language? Why would someone do that?

Replies are listed 'Best First'.
Re: Migrating from Perl to other language? Why would someone do that?
by Laurent_R (Canon) on Nov 24, 2013 at 00:18 UTC

    Just my personal experience: I moved away from Python to Perl about 11 years ago.

    The first dynamic language I used in the late 1990s was TCL; I did not like its syntax too much, but I found it great because of TK. Then, in 1999 or 2000, I discovered Python. I found its syntax far better than TCL: to me, TCL was really more like a scripting language, Python a real programming language (please don't flame me if you disagree, I am not claiming to be telling the truth about these two languages, I am only talking about my personal impression on them). And I loved Python at the time. And I can distinctly remember having seen a lot of articles in the Python circles disparaging Perl as a baroque language, almost impossible to learn, or requiring about ten books to start mastering just the basics. So I was very happy that I had chosen Python and not Perl, even though it had been by coincidence, not by carefully reasoned choice.

    Then, my job changed in 2002 (same company, but different team and assignment and different work) and discovered that the data migration suite that I was going to have to use and possibly upgrade was written mainly (probably 85 to 90%) in Perl, with some C for highly time-sensitive programs, some shell, SQL loader, and a few other technologies. I was a bit frightened because of the terrible reputation the Python people has instilled into my mind about Perl. Although I was working in an implementation team rather than a development team at the time, I felt that I needed to learn some Perl, at least for understanding the tools that I would have to use. I picked up a 70-page tutorial on Perl on the Internet, read it and made small test programs within two or three days, and found it quite easy.

    And it just happened that something in our migration process did not work as expected. Some data needed some intermediate reformatting for the migration suite to work properly. No problem, I first thought, I'll write a quick Python within one day or so, and that will solve our issue. Then, on a second thought, I decided I might try as well to do it in Perl, that I had just started to learn. I did it over the weekend, because I did not think it would be fair toward my company to try to write a program in a new language on my working hours. I actually finished it on the Saturday (well, completed it late Saturday evening or perhaps even in the early hours of Sunday). In brief, after having spent two days on a tutorial, I was able to write a real Perl program for professional purposes within one day, more or less the time that I was thinking necessary to do it in a language that I had been practicing for 2 to 3 years. I was probably helped a lot by the DWIM principle. My first real Perl program was obviously clunky and clumsy, and obviously written in "baby Perl", but it worked, it did what was needed, and it did it very quickly. I haven't kept a copy of that program, I would probably be appalled by its coding quality if I were to review its code today, but, again, it did the job, and that only mattered.

    That experience told me two things: 1. that Perl was not that baroque and that complicated, far from that, and it was actually easy to use (even if I was obviously using a small subset of it at the time), and 2. that the Python pundits that I has read about Perl did not know what they were taking about or were just not telling the truth.

    The outcome of this experience is that I have never written a new Python program since (OK, I updated a couple of older ones). And i would not be able to write a Python program today without starting everything from scratch or almost.

    A couple of more thoughts. As I said, I loved the Python syntax at the time and I don't think I would change my mind today, I still think it is an efficient programming language. I still think, as far as I can remember, that it is very clean and straight forward. But Python is probably insisting too much on object-orientation in my view. Sometimes, the functional programming paradigm works much better. Perl offers both OO programming and functional programming (and even other programming paradigms), it is up to you to choose. Python has only one programming paradigm.

    The mind set is different. Perl's "theological" principle if that "there is more that one way to do it", "do it as you wish so long as it works", which is an open-minded view, Python's viewpoint is just the opposite: "You are wrong and should be burnt at the stake if you don't do it the way I decided." (Hum, agreed, I am exaggerating a bit here, but that's the idea.) But the point is that when you agree that it can be done in different ways, you must also agree that it can be done in a different languages, whereas if you think there is only one way to do it, you may quickly become a fundamentalist or a fanatic that thinks that the only way to do it is in the language of your choice.

    One final point: I am using servers with numerous OSes: HP-UX, AIX, Solaris, various brands of Linux, etc. Every single platform that I am using has Perl built in, Actually, Perl is even used by the OS for some tasks. Most of them don't have Python. Python is not installed in most cases (well, it is there on one Linux platform). Which one is really mainstream?

      Laurent_R++ :)

      Great post, thank you!

      Cheers Rolf

      ( addicted to the Perl Programming Language)

      An excellent retrospect, Laurent_R. Well done.

      Thanks for taking the time to share it with us! ++.

      --Chris

      #!/usr/bin/perl -Tw
      use Perl::Always or die;
      my $perl_version = (5.12.5);
      print $perl_version;
Re: Migrating from Perl to other language? Why would someone do that?
by davido (Cardinal) on Nov 22, 2013 at 05:04 UTC

    Go learn Python. After that, learn something else. And don't stop there. Someday you will be the person people ask such questions of. Prepare now to provide informed replies.

    I've arrived at the conclusion that the Perl way of doing things is to never stop looking for new areas to explore, and to always use the most appropriate tool for a given job, even if it happens to be a different language. With this approach, I find that when I'm working with one of the other tools out there, I encounter ideas that make me a better programmer.

    Not surprisingly (to me), with this outlook I end up using Perl a lot.

    Many years ago I had the opportunity to learn a foreign language to the point of fluency. Not for a minute was I concerned that English would cease to be important to me. And when I returned to my home country, I discovered that after shaking off the rust, I had acquired a deeper understanding of my native tongue as well.


    Dave

Re: Migrating from Perl to other language? Why would someone do that?
by GrandFather (Saint) on Nov 21, 2013 at 20:18 UTC

    Fair question. I'm not sure I can give a very good answer because I don't know enough Python having only really worked with it for one small project. However there is a significant point of difference, and it's really a culture thing: the Perl camp (which I'm firmly in) has a culture of TIMTOWTDI where the Python camp follows the mantra of "The One True Way".

    I like the magic that Perl provides and I think that it is quite possible to write good, clean, succinct and elegant code in Perl. It is also possible to write absolute impenetrable crap, but that is true in any language. Much the same can be said for most other main stream scripting languages (except VBScript which is only suitable for writing crap).

    I can understand that management may prefer Python which makes it harder to write absolute crap even though it's not as easy (in my opinion) to write in Python the truly succinct and elegant code that Perl can achieve.

    True laziness is hard work
      It is also possible to write absolute impenetrable crap, but that is true in any language.

      This is every bit as true today as it was back in '82 when Ed Post wrote the seminal Real Programmers Don't Use Pascal. This treatise includes the oft-since-quoted maxim, "the determined Real Programmer can write Fortran programs in any language."

      To the OP I say: Look around the code posted on this very site. You'll see Perl written by folks which looks suspiciously like C, awk, Fortran, BASIC, a whole slew of OO languages, Lua, Erlang, and some that's close to line noise. Try looking under ACME:: someday to see just what monstrous things can be done by the determined Perl Programmer.

      However, we also see examples of supremely elegant code which I have to say is very rarely echoed in other languages with which I am familiar. In the right hands Perl can be succinct, clear and powerful.

Re: Migrating from Perl to other language? Why would someone do that?
by tobyink (Canon) on Nov 22, 2013 at 00:26 UTC

    "Another guy stated that Python/Ruby are truly Object Oriented languages and it makes more sense to learn them."

    This begs the question of whether a language has to be object-oriented to be worthwhile. Haskell (for example) is a very elegant programming language, but doesn't do OO at all.

    And although Perl's built-in OO requires a little manual work, it's extremely flexible, supporting OO concepts like multiple inheritance that many other OO languages do not (including Ruby, Java and PHP).

    It's flexible enough to build things like Moose on top of - and I'd argue that Moose offers a more powerful OOP framework than almost any other programming language. (Scala is probably the most mainstream programming language that offers OOP that rivals the Moose.)

    "The question that's stuck in my mind though, is, why are people moving "away" from Perl?"

    Don't believe the hype. Sure plenty of people are moving away from Perl, but many more than that seem to be moving towards it. Measuring such things as these directly is difficult, but there are proxy measurements.

    use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
      I would argue from what I have seen that Lisp's CLOS rivals Moose. Unfortunately CLOS's learning curve is, well, legendary.

        Indeed; CLOS was in fact one of the inspirations for Moose. However, it would be a bit of a stretch to call Lisp mainstream; it's barely used outside academia/Emacs.

        use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
        I find CLOS quite easy to learn.
      "...Sure plenty of people are moving away from Perl..."

      With all due respect, tobyink; How do you know? What makes you think so? I'd dearly love to see your stats.

      For example; If someone should call me a derogatory name, must I feel compelled to respond? I'd argue not. If a person is relatively comfortable with themselves. Why would they care? I wouldn't.

      It is in this same vein, that I would suggest. If a person recognizes the advantages, and chooses Perl. Why would/should they feel compelled to argue against rubbish -- like perls before swine, as it were. I'd also contend, that the type of people that choose Perl, in the first place, are of a type that clearly see the BS, and choose not to bother with it. Seeing it for what it is.

      --Chris

      #!/usr/bin/perl -Tw
      use Perl::Always or die;
      my $perl_version = (5.12.5);
      print $perl_version;

        "With all due respect, tobyink; How do you know? What makes you think so?"

        Because this is true for any mainstream programming language - there are always people abandoning the language for pastures new, and new people discovering the language; there are organizations rewriting a legacy application in a different language (in fact, choosing a different language to rewrite a legacy system is a good idea - it helps ensure crufty parts of the old system don't get kept around for convenience); people switching jobs and having to adjust to a new development environment.

        use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name
Re: Migrating from Perl to other language? Why would someone do that?
by einhverfr (Friar) on Nov 22, 2013 at 14:12 UTC

    We get this question a lot on LedgerSMB as well. We are Perl/PostgreSQL and have no intention of migrating the core implementation to another language or database framework. Well... we are trying to migrate it to sane Perl code (you should have seen it before the fork!) but this takes time and effort, and our design for new code is very post-modern...

    But keep in mind we are writing big software. Our codebase has hovered around 200000 lines of code through the last several years and will at some point start to rise significantly. It also depends on software that for a typical install being quite large. ERP and accounting software is not a small thing. But Perl is excellent for this because it lets you move in and out between a heavier software engineering mode and a light-weight scripting mode, and our software leverages both of these. That is an immensely powerful thing.

    I think there are actually a few reasons people object to Perl. The first is that there is a lot of bad Perl code out there. The project that we forked from was essentially a textbook on how not to program, especially in Perl. This is something we have to be honest about. Since Perl is good for quick and dirty one-off scripts, these areas don't usually admit to the time and effort in engineering, and are often done by sysadmins who don't have much experience maintaining code. So you get bad code that works but gives people nightmares.

    I think the second problem that we face is that people remember "Perl as the language of CGI" and therefore see us as "so last-century." Like the bad code issue these two things give people the impression that we are a premitive precursor to PHP or something and therefore they don't tend to see what we have to offer.

    In my experience (having done some programming in PHP, Python, Ruby, and others, and a lot of programming in Perl) are largely without merit. PHP has a mindnumbing number of gotchas, and Python tends to treat things as implicit references in ways that introduce very subtle and hard to find bugs. Ruby is not a bad language, but it suffers from frameworks (Rails, I am talking about you) which cater to those who are phobic of designing software.

    None of these offer the multi-paradigm support that Perl offers. With Perl you can write object-oriented code, functional programming code, aspect-oriented code, and more, and you can merge the ideals of the paradigms in a way that makes sense for your project. However, this is also the hardest part of the language to master.

    What we decided to do with LedgerSMB was to break off our database access layer into more generally applicable modules (see the PGObject top level namespace for a rough idea of what we have broken off, as the five modules currently there are closely modeled on existing LedgerSMB code), and port those libraries to other languages. We aren't moving away but it is just a recognition that many clients may have Ruby or Python apps that need to interoperate and so the service locators are helpful in this way if ported. For these users, the major issue is just that they know and are more comfortable with other languages. There is nothing wrong with that.

Re: Migrating from Perl to other language? Why would someone do that?
by gsiems (Deacon) on Nov 21, 2013 at 20:59 UTC

    As mentioned by GrandFather, Python embraces a "The One True Way" philosophy of programming whereas Perl is very much more TIMTOWTDI. One result of this difference is that a lot of Pythonistas seem to extend that into a "The One True Language" outlook, where Perl users seem to extend TIMTOWTDI to language choice as well. As for Ruby-- nice language, but it seems to suffer from "fanboys will be fanboys".

    FWIW, I've seen crap in both Perl and Python. Just because Python uses whitespace as syntax (ick) doesn't prevent people from writing pythonic line noise.

    W.R.T. Object oriented being the (one true) way forward-- if this is so true then how does that explain the current hype surrounding functional languages like Erlang, Clojure, and Scala (o.k. that last one is object-functional)?

Re: Migrating from Perl to other language? Why would someone do that?
by LanX (Saint) on Nov 21, 2013 at 23:34 UTC
    It's about propaganda and the Perl community is too tolerantly educated to fight a dirty war.*

    See my response here about my experience with the Python community.

    People talking about "concentration camps for Perl programmers" are symptomatic for a mobbing culture which propagates that "there is only one way to do it".

    Fundamentalism is attractive, even the biggest idiot can feel like a "über hacker" after embracing this simplistic attitude.

    Cheers Rolf

    ( addicted to the Perl Programming Language)

    Update

    *) TIMTOWTDI ...

      It's about propaganda and the Perl community is too tolerantly educated to fight a dirty war.

      In subsequent dust-ups of the affair I shall endeavor to apply a more vigorous and focused set of expletives to the initial reply.

Re: Migrating from Perl to other language? Why would someone do that?
by ww (Archbishop) on Nov 21, 2013 at 19:33 UTC

    Para 2 of OP quotes so much bunkum; FUD, and just plain baloney, I chose to ignore is... in favor a casting my flashlight on this section!

    How and why would organizations move away from Perl? Is it because Python is easier to learn? From whatever I have seen of Perl in past few weeks, its one fine language and especially for scripting and text manipulation, I don't think there is any other language that can come even close to it. So why is this step brotherly treatment meted out to it? What would organizations gain by moving away from Perl? Just that fact that there are more Python guys out there than Perl guys?
    • Q1: sometimes because non-programmer management hears rumors that some other language is "cooler" (or, more apt to left said manager keep her/his job).
    • Q2: It is? Who told you that?
    • Q3: Ignorance, jealousy, etc.
    • Q4: Sometimes there are legit reasons -- such as moving to a language designed or implemented in such a way as to facilitate certain kinds of computation.
    • Q5 (sentence fragment, actually): Where did you hear that? If true, it might make it cheaper for managment to hire skilled snake-charmers than -- say, Perlistae or coders in some other language -- but the popular guesses (and perhaps 'reality') about the number of (allegedly skilled) programmers of a particular language appears -- today, at least -- to have more to do with what's faddish in the academic world.

    BTW, the question "stuck in (your) mind" is another instance of a question based on probably inadequate data. Search this site, alone, for prior questions similar to yours, and you'll find data to challenge the assumption in your question. And take a look at how much Cobol is still being maintained and used, out there in the real world.

Re: Migrating from Perl to other language? Why would someone do that?
by Your Mother (Archbishop) on Nov 21, 2013 at 19:22 UTC

    Getting real tired of your shit, Python.

      Getting real tired of your shit, Python.

      Took you long enough , you're very tolerant :)

Re: Migrating from Perl to other language? Why would someone do that?
by snoopy (Curate) on Nov 21, 2013 at 22:33 UTC
    >> use and stick to Python because everyone is using it and all the new stuff is done in Python

    I'm always particularly wary of arguments such as this. It matches the economics/marketing pattern of an Economic Bubble in a burst phase where growth is being sustained by a positive feedback mechanism.

Re: Migrating from Perl to other language? Why would someone do that?
by Anonymous Monk on Nov 22, 2013 at 06:11 UTC

    Well if we are to really talk about trends, job postings and new projects. It makes zero sense to use or learn Python. Learn Go, Scala or may be even Clojure

    Python is no longer trending, it was around 3 years back. Its not now. I don't see any compelling reason to learn a language that is on the decline and losing ground consistently to newer set of languages. Purely speaking on popularity, fame and other such metrics.

    Also by that definition, don't even get into this 'should I learn language X or Y' business. Learn whatever the new and famous tool is and throw away the old tool

    But if you are not on that end, but you want to learn and use the right tool for the job. You won't even need an answer to language X or language Y. You would know which one to use and why.

    Either way I don't think Perl's glory days will be back, unless Perl 6 is out.

      Or ... learn new tools, knowing that old tools will never be “thrown out” but that there just might be “a better way to do it.”

      Case in point:   I once solved a multi-stage puzzle in which two of the stages were:

      • A 21-statement logic puzzle (“the man in the red hat does not wear pajamas”).
      • A Sudoku puzzle from hell.

      GNU Prolog’s “finite-domain (FD) problem solver” ate both problems for lunch ... and I thoroughly enjoyed learning how to make them do it.   (And then, using them to discover that one of the clues in the puzzle was redundant, and which one.)   I have used that know-how since, because “learning programming-languages” is a bit of a hobby for me, as well as a core skill of my profession.   Every language is a tool, and every tool works in a different way, making it better for some jobs and worse for others.   I happen to find the topic to be faszinierend, as well as useful.

Re: Migrating from Perl to other language? Why would someone do that?
by runrig (Abbot) on Nov 22, 2013 at 03:28 UTC
    Another guy stated that Python/Ruby are truly Object Oriented languages...
    Which just goes to show that another guy doesn't know what he's talking about...
Re: Migrating from Perl to other language? Why would someone do that?
by sundialsvc4 (Abbot) on Nov 22, 2013 at 06:06 UTC

    People, in general, don’t “move away” from languages, because there is, in every shop, a well-established body of existing source-code which is in service and which therefore has great business value.   It is usually deemed to have little return-on-investment (ROI), and great business risk, to rewrite such systems ... although it does happen.

    Shops do seek to standardize on one or two technologies, especially for new initiatives, and their choices do evolve.   In your case, it appears that your shop prefers Python and/or Ruby ... and, so be it.   Happily do what the Romans around you are doing.   If that presents you with the opportunity to learn a new language (and to get paid for it!), so much the better.

    The next shop you wind up in ... who knows what its language-mix will be?   The more languages you know, the more in-demand you will be, and the better perspective you’ll have on all of them.   You’ll see all of them in-context, and you won’t be too likely to indulge in “language wars” discussions because you’ll see that there is no such war.   All of them are industrial-strength tools that are (heavily) used in our industry, where all of them are giving excellent service.

Re: Migrating from Perl to other language? Why would someone do that? (money)
by Anonymous Monk on Nov 22, 2013 at 03:16 UTC

    Re: Migrating from Perl to other language? Why would someone do that?

    Money

    shotgunshartgun

Re: Migrating from Perl to other language? Why would someone do that?
by taint (Chaplain) on Nov 21, 2013 at 20:41 UTC
    Brutal summarization(sp)/categorization:

    * People (generally) are attracted to Bright Shiny Objects.
    * One ups-men-ship --

    If I (someone) feel(s) threatened;
    Well, at least I don't...
    or
    Yes, but I'm easier to learn.

    I've been giving the matter you bring up, some thought for awhile now.
    There's no good reason for anybody to give up a chest full of tools, for a hand full of shiny new ones.

    --Chris

    #!/usr/bin/perl -Tw
    use Perl::Always or die;
    my $perl_version = (5.12.5);
    print $perl_version;
Re: Migrating from Perl to other language? Why would someone do that?
by pmu (Beadle) on Nov 23, 2013 at 05:56 UTC

    Respected Monks,

    Thank you for providing your views on this topic. And thank you even more so for not shooting me down :).

    Indeed there's a lot of FUD out there. Thank you for writing such informative posts.

    || Aeterna Est Perspectum Cognitio ||
Re: Migrating from Perl to other language? Why would someone do that?
by jdrago999 (Pilgrim) on Nov 26, 2013 at 21:16 UTC

    My team doesn't write any new projects in Perl, but we have plenty of legacy projects already written in Perl.

    We write new projects mostly in Ruby.

    I dislike Ruby's slow compile time, but much of what I spent the last 15 years learning in Perl transferred right over to Ruby.

    Perl is pretty great, but Rails is just plain awesome. And simple. And yes, you can do all that stuff with Perl, too, but you'll be one-of-a-handful of people doing it.

    Go with the flow. Damn I sound old.

      ...but you'll be one-of-a-handful of people doing it.

      And command the corresponding salary and job security. And "handful" is subjective. Indeed.com's Job Trends shows Ruby on the job boards as pretty stable, maybe even declining, and half the number of each of the three Ps; Ruby's "footprint" in the dev world has so far been mostly by way of hype. Perl, while the trend is down, is still ever so slightly on top of Python and PHP, by the way.

        And command the corresponding salary and job security.

        Well, i can't say about the salary (i get the average what my other IT colleagues get), but yes, working on in house Perl projects certainly increases (my) job security.

        Code written and maintained by me runs on a lot of systems, from our central assembly line webserver (118000 lines of code and counting) to things like glue-code in our pay-per-page printer accounting, data syncronization across windows domains, a tool used by some to convert propritary VCard-files exported from old phones to CSV files, custom time syncronization code used on some assembly line systems to a windows service that restarts other frequently-crashing windows services on some too-expensive-to-replace non-updateable Windows XP boxes. And about 30 or so other small projects.

        Quite funny, i'm still a one-man-team. Job security is fine. Going on vacation knowing someone would be able to cover for me would be nice, too.

        You could get a lot of jobless Python guys around here who may be able to whip up a decent helloworld.py in a day or two. But all the Perl guys and girls i know have a good, secure job and not a single reason to join my company, it seems.

        Maybe the design of the Perl language, its flexibility and its community play a vital part. When the assembly line stops and the german high end automotive producer calls every few minutes to get an update, you want a quick fix solution. But when most developers in these parts either learn Python or Java or something like this and have years of university "experience" and practice on how to design, implement and test a "good, clean, extensible and reusable" solution, being the companies odd Perl hacker who can "CPAN-hack a solution" in a few minutes (it only has to be just about good enough to get things moving again long enough to satisfy the customer) has its benefits...
        "I know what i'm doing! Look, what could possibly go wrong? All i have to pull this lever like so, and then press this button here like ArghhhhhaaAaAAAaaagraaaAAaa!!!"

        Ruby's "footprint" in the dev world has so far been mostly by way of hype.

        I admit my statement is purely opinion.

        I live and work in San Francisco these days. I go to Berkeley and other local schools to do recruiting, several times each year. We hire from other places like Harvard and Stanford.

        Those kids hardly even know what Perl is.

        Ask them about Rails, and they have all at least played around with it, and many have github accounts with some silly Rails app that they made for fun.

        I don't think hype is a bad thing, when it at least gives you a starting point to work from.

      The little bit I have done in Ruby has been nice. On the other hand, I really dislike Rails, primarily because I write ERP/financial software and the Rails approach to databases is just plain wrong at least where data is critical and must be reusable.

      This being said..... I can't fault Ruby for having Rails, just like I can't fault Perl for having Matt's Scripting Archive ;-)

        perl has rails too, its called Mojolicious
Re: Migrating from Perl to other language? Why would someone do that?
by electrosphere (Beadle) on Jan 07, 2015 at 12:57 UTC

    I have heard the same from Management and fellow developers over the last 5 years or so, eg. "we should start new development in Python or Java".

    Reasons why I believe this is so:

    • Python is often taught in universities, Perl is not. So it's more likely to find someone, especially a recent graduate, who can "hit the ground running" in that language.
    • Most APIs normally have a library in Python rather than Perl (from what I can see anyway - although normally you can find something on CPAN - but "path of least resistance")
    • Go into any bookshop and find the "Computing" section - I think you will see more Python books than Perl. OK, I'll find a book online to learn Mojolicious or Dancer... oh, there isn't any. Whats that? There is one but it is in German?
    • there seems to be more Python jobs than Perl jobs (so "everyone is recognizing Python as the way to go")
    • Python/Django has a lot of mindshare among large web-apps. I can't think of a single well-known website using Perl with Dancer/Mojolicious/Catalyst. I do know these frameworks are used internally in many organizations though but they don't get the same exposure.
    • Python is the defacto language to do stuff with the Raspberry Pi, the wildly popular cheap computer.
    • comments I've heard from other developers: "Perl is not a modern langauge, so I use Python", "what are all those symbols/sigils? Yuck."
    • Perl (the community) has a perception of being a bit elitetist and not n00b friendly. Look at PerlMonks for god sake, to post this I need to use "PerlMonks-approved HTML".
    • Being a developer has become a lot more accessible so you don't have to be a massive geek and wear a huge beard to write something. I can get Ubuntu and install it for free easily and it'll "just work", clone code from github and away I go. No longer do I have to hand-hack my X86 config, compile my Perl and waste hours with Makefiles. Such neo-geeks are going to want something that lets them be productive and they look at what is popular or "#trending".
    • Good Perl people are getting harder and more expensive to find.
    • Perl/CGI/mod_perl was at one time the go-to technology: now there is now more choice among web frameworks: Python/Django, PHP/CodeIgniter/Sli, Ruby/Sinatra etc etc - all with proven sites out there and large vibrant user communities, books, training courses etc

      To respond to some of these statements:

      • Python is often taught in universities, Perl is not.

      A relative teaches Perl for bioinformatics at one local university. This is not part of the CS dept. I don't think this statement can be accurate.

      • Python is the defacto language to do stuff with the Raspberry Pi, the wildly popular cheap computer.

      Perl is installed by default. What can you do with Python that can't be done with Perl on the Pi?

      • Perl (the community) has a perception of being a bit elitetist and not n00b friendly. Look at PerlMonks for god sake, to post this I need to use "PerlMonks-approved HTML".

      Having spent some time in other communities in the last month while investigating some things my experience of this is that other communities are more elitist than the perl community. YMMV.

      • Being a developer has become a lot more accessible so you don't have to be a massive geek and wear a huge beard to write something. I can get Ubuntu and install it for free easily and it'll "just work", clone code from github and away I go. No longer do I have to hand-hack my X86 config, compile my Perl and waste hours with Makefiles. Such neo-geeks are going to want something that lets them be productive and they look at what is popular or "#trending".

      What do you have to 'hand-hack' to work using perl? Avoiding the system perl is wise but it's trivial to install your own perl elsewhere. Perlbrew automates the task.

      • Good Perl people are getting harder and more expensive to find.

      Good people are getting harder to find, for various definitions of the word good. This isn't a perl problem.

      • Perl/CGI/mod_perl was at one time the go-to technology: now there is now more choice among web frameworks: Python/Django, PHP/CodeIgniter/Sli, Ruby/Sinatra etc etc - all with proven sites out there and large vibrant user communities, books, training courses etc

      There are more modern Perl frameworks, why didn't you mention them?

      Update: fixed typo.

      • Is Python as good as Perl?
      • Are you going to become as productive programming in Python as you are now in Perl?
      • Are you going to like it?

      I have tried several times to like Python, and failed every single one... I missed the expressiveness and conciseness of Perl all the time... and then there are the scoping issues!!!

        > have tried several times to like Python, and failed every single one

        Same with me...

        > scoping issues!!!

        And castrated lamdas!

        And the fact the larger installations seem to need multiple python versions installed in parallel.

        While Perl cares to run 20 year old P4 code, others don't seem to care much about backwards compatibility.

        Furthermore pypi which is mess compared to cpan.

        Cheers Rolf

        (addicted to the Perl Programming Language and ☆☆☆☆ :)

Re: Migrating from Perl to other language? Why would someone do that?
by pmu (Beadle) on Nov 24, 2013 at 17:34 UTC

    Hi Laurent_R,

    Amazing post. Thank you so very much for taking time to write it. Its a pity I can up vote it only once.

    || Aeterna Est Perspectum Cognitio ||

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://1063784]
Approved by GrandFather
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2024-04-19 20:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found