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

comment on

( [id://3333]=superdoc: print w/replies, xml ) Need Help??
Since you point me out specifically, let's go over the post of mine that you complain about. It is at Re (tilly) 1: Cross-developing in 5.005 and 5.6 (code). You are asking why an eval trick you are trying is not catching an exception that you are trying to trap that is arising because of trying to run something developed in Perl 5.6 under 5.005_03.

So how do I respond?

Well my first paragraph gives general advice on how to develop code that is portable between two revisions of Perl. Namely develop in the earlier one and avoid accidental backwards compatibility gotchas. My second paragraph mentions that the built-in documentation gives you the answer to your specific question. (There is a difference between eval of a BLOCK and an EXPR.) Given that you claim to be a good Perl programmer and post here a lot, my expectations for you are higher than they would be for a random newbie, so I thought that you should have checked that documentation. My third paragraph points out that your code as written, if converted to do exactly what you ask, will still break in several subtle ways. And my final paragraph tells you how, if you wish to backport software, you are most likely to succeed.

Now I am not sure why this offended you. Sure, I didn't treat you with the kid gloves that I would someone who I thought might simply not have a chance to know better. But I answered your question in full, I pointed out several gotchas, and I gave detailed advice on saner ways to proceed, both in general and in this specific case.

Now the link that I can understand your disliking, which you referred to but did not give, is Re (tilly) 1: The qq{worse is better} approach (discussion). So let's talk about that post.

First some context. I am responding to a post where, when faced with someone who by your own admission is a good programmer, you not only disagree but go on to say I feel like I am fighting a war against lazy programmers... As you say about yourself, I just cannot get past the idea that there are people who think that it is ever okay to cut a methodological or ritual corner. ever! (Emphasis in original done with italics, not bold.)

Strong words. Strong words that I disagree with. In fact if you read my posts carefully you would have known that I am not one for (intentionally) grinding methodological axes by rote. In fact if I cannot justify why a rule applies in a given case, I prefer to question the rule rather than tell someone to follow it. And if I get no better answer than, "Because it is the right thing to do" then I will intentionally go out and break the rule, then watch carefully just to find out if it is the right thing to do.

But still that doesn't explain the full reaction that you got from me. There is more to it. What I, and I suspect others, react to is your self-description of yourself as a good Perl programmer. Well claiming that is a challenge.

First of all I should point out that in my experience most of the people who say they are good at anything actually suck. They think they are good because they don't have any exposure to competent people, and so they suffer from the "big fish in a little pond" syndrome. But without exposure to competent people, you can't learn to be good. You can only learn to be arrogant over their incompetence.

However I am still willing to judge each case. For instance if people like Abigail, chip, merlyn, Dominus or many others I can think of were to describe themselves as good, I would agree. When a random person says that they start with one strike against them in my books, but if they are good, well OK. I won't argue with success.

But when I look at nodes like Optimization for readability and speed (code), I don't see that you are a great programmer. Instead I see code which caused merlyn to scream and everyone else to agree. Everyone else included me, and even without knowing your data structure I immediately noted something that looked a heck of a lot like a bug. But still you think you are a good programmer. In fact above you compare yourself to japhy and (not entirely subtly) indicate that you think you might be as competent a programmer as he is! Which makes me wonder because I really don't think that the only difference between the two of you is that I happen to disagree with you and agree with japhy.

After that when I look at continued nodes like de-inventing the wheel (discussion), what should I think? There are basic points you have not learned. But you believe yourself to be a good programmer, and seem more inclined to rant than to try to learn. In case you didn't notice, I already explained my position at Re (tilly) 1: Why I hate Perl (discussion). Change is necessary. Change is important. However the latest is not always the greatest (for instance 5.6.0 was simply not suitable for production) and changes to a production environment should happen one at a time in steps you can back out. Changing the world and then upgrading everything in a big bang is a recipe for disaster. Proceed one step at a time, please. And that means that when working in a 5.005 environment that you don't think will be upgraded soon that you shouldn't try to immediately force a 5.6 upgrade. Particularly not on top of a fragile code base.

And with that all said, here is my sincere advice.

Drop the attitude. First admit to yourself that there is a lot out there that you don't know. That you don't have the answers. That when an old Lisp hacker drops a random paper on you whose commentary seems crazy, it just might be a really famous paper about programming design which might have more going on than you think.

Next, drop the attitude again. japhy is a good Perl programmer. How good? Well put it this way. When I first saw japhy's name at RE: RE: History of 'our', my immediate response was to recognize the name and label him a Perl guru. (I even said so publically.) When people start to - unprompted - compare your skills with those of people like him, you won't actually be that good yet and you will know that you aren't that good yet. In the meantime you aren't there, and every time you claim to be it just reminds people that you aren't even to the point of having a clue about how much you don't know.

And finally, drop the attitude again. In Summing up recent ideas into a concept: Code vs. Prose you make it clear that you think you are too good to learn from what you find around here. Well some topics may not be discussed in depth. However there is enough discussed here by good people about material that is in flux that if you can't find stuff to learn, then the fault is with the reader.

Is that specific enough?

I hope you learned something from this post. It certainly took me enough energy to write it...


In reply to Re (tilly) 1: Why me? Why not Ovid? (discussion) by tilly
in thread Why me? Why not Ovid? (discussion) by deprecated

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2024-04-19 07:06 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found