Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

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

by sundialsvc4 (Monsignor)
on Mar 19, 2013 at 20:59 UTC ( #1024386=perlmeditation: print w/ replies, xml ) Need Help??

In polite response to the recent spat of posts here, I would like to offer a perspective ... my perspective, but also a perspective of thirty-plus years ... on “Perl and the software business.”

First of all ... “my business,” for many years now, “is not ‘Perl.’”   Or perhaps ... it’s certainly not just Perl.   I will hazard to suggest that this is undoubtedly true of most, if not all, of the “old hands” here.   We have clients (or employers), who not only depend on us to work our magic, but who entrust their deepest businesses with us.   Perl is just part of that magic.

My actual job, at this point, is actually that of a software engineer.   “You, mister customer,” are “somewhere,” and you have concluded (at this point, rightly or wrongly) that “you are not in the place where you today wish to be.”   And my job is to figure out (a) how to stabilize “where you are now” (if you are in imminent danger of plunging into some abyss), and (b) to plot a course .. and a project plan, and a budget, etc. .. to wherever it is I recommend that you should now go.

“Engineering.”

Along the way, I will as-needed engage the über-specialists (if any) that may be required to get you there.   I will, unbeknownst to you, arrange with each and every one of them to do their respective specialist part.   Nothing special here:   general-contractors hire subcontractors all the time.

It is actually typical that any project will involve multiple language systems, even on the server side.   All of them, each in their own quirky way, has their own way to get you “there.”   You, the client, got “there” by some pathway that today we cannot change.   My job is only secondarily to consider where “there” is.   My primary job is to discern where “there” should be.   From this, the language-specific voodoo consists of a fairly sensible number of good choices.   There are many languages to choose from, but also strong incentives to “dance with the one that brung ‘ya.”

And I honestly believe that, in saying all of these things, I probably speak for most of the “old hands” here, as well as many others.   If the choices that we had to make were simple, bright-line choices ... why would anyone seek us out?   (Hint:   they wait in line.)

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.   Code that provably works is, indeed, a priceless thing.   Most systems involve multiple languages as well as considerable history ... and yet, they provably work (okay, okay, “more or less”).

That is, at least IMHO, the computer software business.   Perl, like all the others, is merely a means to an end ... a tool ... and a worthy tool it is.   (Perl does not stand alone, but it does stand proud.)   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.   So much that I once again regard you, “with a very puzzled eye.”   Perl is not the point.   My clients, and what they wish to accomplish, are.   Perl, along with all the others, is merely how I/we get there.   The client does not care:   the client pays us so that they don’t have to care.

i

Comment on For thought: "Perl in the greater context of (me and) the software business
Re: For thought: "Perl in the greater context of (me and) the software business
by sedusedan (Monk) on Mar 20, 2013 at 03:53 UTC

    Actually, the clients are not the point. They are merely a means to getting dough.

    And dough is also not the end point. You use dough to get stuffs.

    And stuffs are also but a means to try to get happiness.

    And I've been suspecting quite lately that happiness is not all that is hyped up to be.

    BTW, point taken.

Re: For thought: "Perl in the greater context of (me and) the software business
by curiousmonk (Sexton) on Mar 20, 2013 at 04:50 UTC

    I think you underestimate the kind of problems programmers face. Though I believe that one must be able to program in any language suitable for the task at hand and not just one specific language of his choice. The fact is learning a programming language is an investment in time.

    If any language can get your job done, then you wouldn't have business guys putting up 'Required a candidate with 12+ of C++ experience'. Even to the business the programming language matters.

    It matters because they have to hire people, they have to pay people for a skill and they have to maintain the software for years. There fore they need something widely used, people for which can be easily hired and something that is going to hang around for a long time

    When you look at it from this point, I don't think Perl is in a very comfortable position compared to a tool like say Python.

      I’ve read this response three times so far without completely understanding why you’d say that I “underestimate the problem” here, when you and I seem in fact to be saying the same thing.

      If the project at-hand was originally and substantially developed in C++, then it is absolutely correct to say that a substantial body of experience in that language might be called-for in order to properly assuage the business risk that the person you just hired, in fact, does not know what he is doing and is too-green to know it.   (May I please have a quick count of how many heads are bobbing up and down right now, please?   Thank you.)   I rest my case.

      The key word is that ... no matter what language(s) were used to develop the software, the project must have an assured service-life “for years.”   C++ is a great language .. so is Perl .. so is Python .. so is PHP .. so is .. well .. ;-) Java is out there, too ..   The multi-million dollar decision was made some time ago, and it was in fact not (or maybe it was? ...) a lousy decsion, but ... “We are here now, en-ter-tain us ...”

      The people whom you call “easily hired” are not the ones you really want:   the people who have just one-or-two languages under their belt.   Monster.com will serve up people like that by the hundreds.   The people you really need are the ones who can truly set a programming-language tool in context.   And who can set a project in similar context, no matter what language(s) were used so-far in its construction.

      Indeed, the people who can un-flinchingly approach a project that was done in a language they had never seen before, and who are not bluffing in their confidence, and do it because they have encountered so many technologies before.

Re: For thought: "Perl in the greater context of (me and) the software business
by Anonymous Monk on Mar 20, 2013 at 09:34 UTC
    It's like groundhog day with you. Your posts are either bland marketing doublespeak or wildly inaccurate technical advice. Each time you post this fantasy someone calls you on it, proving you wrong. Hours later you're posting the same false technical advice to people, ignorning the fact that it's been established that you don't know what you're talking about. You then preach (time and time again, bringing nothing new to the argument) that we should remove features that impcat YOU, such as downvotes, the worst voted post of the year, and anonymous posting. It's obvious that you want these to go because the impact you, making you look worse than you already are. Day in day out you post proving that you are not able to be making technical decisions for trivial problems, let alone for huge systems or codebases you claim to work on. You claim to be an expert, yet have no demonstrable skill in any aspect of software, computing or enginnering. Have fun talking the talk to the poor schlubs who you're conning out of money. You do the industries you claim to represent a great disservice

      SPOCK:   Fascinating ...

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
    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.

      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.

Re: For thought: "Perl in the greater context of (me and) the software business
by ruzam (Curate) on Mar 20, 2013 at 22:34 UTC

    May the gods down vote me into a pit of despair for this... I blame it on OCD.

    This reminds me of something that happened just the other day while drilling balls off the tee at the local driving range. I enjoy the satisfying whack of a club hitting a ball straight on, and after thirty-plus years I think I've mastered the art of beating things with sticks pretty well.

    (well not really, I don't golf, this is just an amusing story I made up)

    First of all ... "my sport," for many years now, "is not 'Golf'" Or perhaps ... it's certainly not just Golf. I will hazard to suggest that this is undoubtedly true of most, if not all, of the “old farts” here at the tee off. We have sports enthusiasts (or sporting good stores), who not only depend on us to spend our money, but who entrust all their available free time with us. Golf is just part of that magic.

    My actual job, at this point, is actually that of a sports adviser. “You, mister golfer,” are “somewhere,” and you have concluded (at this point, rightly or wrongly) that “you are not in the place where you today wish to be.” And my job is to figure out (a) how to stabilize “where you are now” (if you are in imminent danger of plunging a golf cart into the creek), and (b) to plot a course .. and a club membership, and a budget, etc. .. to whatever equipment I recommend that you should buy now.

    "Life Coach."

    Along the way, I will as-needed engage the golf pros (if any) that may be required to get you there. I will, unbeknownst to the other golfers, arrange with each and every one of them to share their golf tips. Nothing special here: Golf pros hire golf caddies all the time.

    It is actually typical that any sports enthusiast will involve multiple sports, even in the winter. All of them, each in their own quirky way, has their own way to get you “there.” You, the sports enthusiast, got “there” by some pathway that today we cannot change. My job is only secondarily to consider where “there” is. My primary job is to discern where “there” should be. From this, the sport-specific voodoo consists of a fairly sensible number of good choices. There are many sports to choose from, but also strong incentives to “wear the jersey that you put on in the morning.”

    And I honestly believe that, in saying all of these things, I probably speak for most of the “old golfers” here, as well as many others. If the fairways that we had to play were simple, straight-line choices ... why would anyone seek us out? (Hint: they drink in the sports lounge.)

    So, perhaps this will at least help to explain why I look at “this sport vs. that one” arguments with a very puzzled eye. Athletes are trained to be good at one sport, and, having been thus constructed, never depart from them; nor should they. A sport you provably excel at is, indeed, a priceless thing. Most sports enthusiasts involve multiple sports as well as considerable equipment ... and yet, they provably stay fit (okay, okay, “more or less”).

    That is, at least IMHO, the sporting enthusiast business. Golf, like all the others, is merely a means to an end ... a tool ... and a worthy tool it is. (Golf does not stand alone, but it does stand proud.) If you regard Golf or any other sport, “as an end unto itself” in this business, I submit that you are ... and I do not mean this “personally” ... missing the point, entirely. So much that I once again regard you, “with a very puzzled eye.” Golf is not the point. My sports enthusiasts, and what they wish to accomplish, are. Golf, along with all the other sports, is merely how I/we get there. The sports enthusiast does not care: the sports enthusiast pays us so that they don’t have to care.

    After explaining this revelation to my fellow golfers at the local country club it was “with a very puzzled eye” that I found my car had been egged in the parking lot.

      The only   thing you missed is the.. blepharitic.. practice of sprinkling     throughout your text so that the   random and.. bizarre.. punctuation has “random and bizarre” spacing to keep it.. (Hint: wait for it) company   .

        Dang it!     And     I   tried so hard     to get it just right :)

        The only thing you missed is the.. blepharitic.. practice of sprinkling   throughout your text
        No. He further missed the “‘sundialsvc4-parting-saying’ with gratuitous stylistic device”    ...    canonically used to close a post. For example:   Just askin’    “Schweet!”     “Priceless™ ...”  

        Actually, I get the impression from the OP that sundialsvc4 is using something that automatically transforms two (or more?) consecutive spaces into a single space followed by one (or more?) &nbsp; (it must be automatic, because doing it manually is too painful to contemplate). And I wouldn't be surprised if the same mechanism does something about changing line breaks into <p> tags.

        I'll just mention that when editing human-readable text in emacs (as I often do when documenting the code I write), I've developed a habit of putting two spaces (not one) between a period and the next word, because if I don't do that, emacs' line-wrap strategy won't allow a line break after that period. It's weird, but there is a traditional "rule of style", dating back to the days of typewriters and fixed-width-font printers, that mandated two spaces at every sentence boundary inside a paragraph.

        (Who remembers that cover art for an issue of the Perl Journal, showing the start of a perl installation log on an Underwood typewriter? That one was my all-time favorite.)

      Touché ... ROTFL ... :-)

      (No non-breaking spaces were harmed in the making of this reply.)

Re: For thought: "Perl in the greater context of (me and) the software business
by Lotus1 (Hermit) on Mar 22, 2013 at 13:16 UTC
Re: For thought: "Perl in the greater context of (me and) the software business
by gloryhack (Deacon) on Mar 24, 2013 at 06:58 UTC
    My business: Ferreting out the ever-changing magical keystroke sequences that will make money appear in my bank account. Sometimes, though, I get paid for doing other things, or for doing nothing at all. The other day one client paid me for half-listening on the telephone while a third party mumbled about the work she was doing, and simultaneously I was doing work for someone else, so I got paid twice for the same hour.

    As long as the clock is running, I don't really care what I'm doing. The less, the better.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://1024386]
Front-paged by bulk88
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chilling in the Monastery: (9)
As of 2014-04-19 13:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (481 votes), past polls