Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re^3: Can Perl do anything Java can do?

by jdporter (Canon)
on Jul 19, 2017 at 16:22 UTC ( #1195495=note: print w/replies, xml ) Need Help??

in reply to Re^2: Can Perl do anything Java can do?
in thread Can Perl do anything Java can do?

What senior management? what team? is there? pray, how did you know about that?

When the only tool you're familiar with is X, all problems look like Y. :-)

this is not a general consultancy site

I don't have a problem with people answering at different levels of abstraction.

Date: 06 Sep 2000 07:59:58 -0700
From: (Randal L. Schwartz)
Subject: The XY problem (was Re: controlling Back & Reload)
Message-Id: <>

It's important for me as a person who's been on the listening end of questions for many years, and who has to listen professionally (and most of the time answer professionally) to realize that all problems are pieces of solutions to larger problems. (Think about it a second, and you'll see that its necessarily so, all the way back to "why the heck did I get out of bed today?", if not higher.) So, to answer question Y, without understanding larger problem (the context) X, will most likely *not* help them entirely with X. I actually consider that a bit irresponsible.

How it shows up in the chatrooms (or even live, but rarer) is that someone will say "how do I do Y?". I usually take a deep breath before answering, and try to understand who a person would have to be to *ask* about Y, and make sure that I know enough about all possible X's to verify that an answer is invariant (doesn't depend) on those. Often, my spider sense will tingle, and I start asking the context questions, but at the same time, I see a lot of other people answering the Y question literally. More often than not, they have presumed too much, and it sends the person off with premature answer that really doesn't help solve X or Y entirely.

So, the key is to listen, and try to crawl inside the head of the requestor to see why they would even have that question. It helps to be appropriate. When I'm doing it live while teaching, it also keeps me on my toes, as I have to do this in a way that respects the questioner *and* still keeps the rest of the classroom interested. Fun, and challenging at the same time. It's one of the parts of teaching that I most enjoy.

I reckon we are the only monastery ever to have a dungeon stuffed with 16,000 zombies.
  • Comment on Re^3: Can Perl do anything Java can do?

Replies are listed 'Best First'.
Re^4: Can Perl do anything Java can do?
by shmem (Chancellor) on Jul 19, 2017 at 18:20 UTC
    I don't have a problem with people answering at different levels of abstraction.

    Neither do I. But the path of abstraction should be visible, and understandable. The post from merlyn you cite is not so much about abstraction, but about how skilled guessing works: not presuming too much, and not sending off people with a premature answer that really doesn't help solve X or Y entirely.

    Throwing in consultancy jargon quotes from a random bullshit bingo chart which might, by several twists of the mind, yield some remote connection to the problem at hand is not that sort of abstraction, or skilled guessing. It is throwing shiny shingles on a fishing line into the river - it is trolling: trolling with baits, and more often than not, they are toxic.

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

      I agree with what you're saying generally, but in this particular instance I think your complaint doesn't stick. While his comment was not written with the kind of linguistic precision and technical rigor we might use (or might expect from an experienced consultant), I think his points were actually quite cogent.

        I think his points were actually quite cogent.

        Quite cogent, yes, but poisoned. This is the problem all the time. Quoting Re: Can Perl do anything Java can do?:

        The Java language is much heavier, but at the same time it has many features that Perl (5, at least) does not even consider: strong typing, compile-time checking, a more robust class implementation, and so on and on and on.

        This is, putting mildly, not quite accurate: "does not even consider"? Considerable amount of brain cell squeezing was put into making loose typing work, that's true; but another big amount of brain cell rubbing was poured into making strong typing possible. The default is loose typing, sure. But that doesn't mean that perl does not even consider strong typing. One might wave that off as not being up to technical rigor - I call such statements toxic. They are purporting prejudices invalidated long ago.

        So, while actually quite cogent this post is another example of the mixture: common-place chaff, one or two grains of wheat, and at least one ergot (sclerotium clavus or secale cornutum of Claviceps purpurea) which poisons the whole dough. Meditations about the fungus aspect are left as an excercise to the reader.

        update: revision and links for the fungus part

        perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1195495]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (6)
As of 2019-08-20 10:15 GMT
Find Nodes?
    Voting Booth?

    No recent polls found