Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

Re: For thought: "Perl in the greater context of (me and) the software business

by moritz (Cardinal)
on Mar 20, 2013 at 10:18 UTC ( #1024489=note: print w/replies, xml ) Need Help??

in reply to For thought: "Perl in the greater context of (me and) the software business

So, perhaps this will at least help to explain why I look at “this language vs. that one” arguments with a very puzzled eye. Software systems are built using languages, and, having been thus constructed, never depart from them; nor should they.

First of all there are still new projects that do things from scratch. They aren't yet built using any language, so your point doesn't apply. It's well worth to discuss the advantages and disadvantages of different languages for a new project.

And second, sometimes there are reasons for rewriting systems in another language. Those have to be very good reasons, but they exist. Among the most commons one are "we need to support a new platform, and our programming language doesn't run on it" (for example perl doesn't run natively on the most popular mobile operating systems, Android and iOS), or "the misfit between a new requirement and the programing language is too large" (for example it's basically impossible to do formal verification on a perl code base, or meeting certain real time requirements).

If you regard Perl, or any other language, “as an end unto itself” in this business, I submit that you are ... and I do not mean this “personally” ... missing the point, entirely.

Sure, the question is usually not "is Perl a good programming language?", but rather "is Perl a good programming language to do $X with it?".

But of course you can look at the bigger picture, and look at many different tasks that need doing, and ask yourself if Perl is a good (or maybe the best) programming language to do each of these jobs. And that's what people do when they ask "is Perl a good programming language?", and even if it's not related to one specific case of doing business, it's still a very valid question, and one we have to answer for ourselves again and again. Both because the tasks that need doing change, and because the competition also changes.

  • Comment on Re: For thought: "Perl in the greater context of (me and) the software business

Replies are listed 'Best First'.
Re^2: For thought: "Perl in the greater context of (me and) the software business
by Tux (Abbot) on Mar 20, 2013 at 11:36 UTC

    Those have to be very good reasons, but they exist.

    Seen twice this year: a process chain built on sh, java, perl, python, and two other "languages". There were several people that knew what the complete process was supposed to do, but none that knew all steps. The programmers that created the java and the python "chain-link" had left the company and none of the other developers knew how to change that code if it were broken. We decided to replace the functionality of the weak chain pieces with one of the languages that the remaining programmers were comfortable with. It was my luck they picked perl. Process chain back in working - and maintainable - order. I completely realize that if their knowledge of perl was close to zero and they picked python, that would have been as good a choice at this point in time.

    Enjoy, Have FUN! H.Merijn

      Now, that is deja vü all over again for me, too.   “A system designed by committee.”   Recommended the same action.   Nothing wrong with having a multitude of languages in one system (although I do frown on shell-scripts), but each one should have a clearly defined reason for having been selected.   Sometimes you feel that a rational design choice was made; sometimes it’s just an unholy mess.   Even though all of these languages are quite powerful, the untoward mixing of them in a single project breeds complexity ... and sometimes you just have to get rid of some of it.

      Python is an intriguing language with a lot of built-in list processing power; an obvious cultural heritage with LISP ... but I’m always afraid that someone will invent a “Python virus” that randomly inserts/removes spaces and tab-characters in the source code.   (For those of you in the peanut gallery, indentation has semantic meaning in Python.)   Still, it’s also one of my favorite tools.

        * déjà vu

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1024489]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2018-06-21 22:29 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (120 votes). Check out past polls.