Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Right answers for the right people

by Jenda (Abbot)
on Aug 27, 2008 at 16:22 UTC ( [id://707206]=perlmeditation: print w/replies, xml ) Need Help??

I think sometimes even a correct answer offered in the best of intentions can hurt. For example today, in a mailing list, someone asked whether there is "something like in VBA I press F8 and can step through the program and see how are the variables changed". Now, is "perldoc perldebug" and "perldoc perldebtut" the right answer? I mean, sure you can step through the program, watch the variables etc etc etc with the builtin Perl debuger, but ... what reaction do you expect from someone who's used to graphical debugers displaying the code, hightlighting the current statement, listing the selected variables, allowing you to expand and shrink the data structures in the watches, etc. etc. etc. All in a nice graphical package. What I expect in that case is that the person will be scared! And think that he just traveled thirty years in time. Into the past.

It doesn't matter that the profis can easily do things that would be hard or impossible in the graphical debuger, it doesn't matter that this CLI-based interface is available everywhere, through any terminal emulation or whatnot. What matters is that for this person, this kind of debugger will feel terrible. And will be an additional hurdle to learning Perl. And possibly even a good enough reason to stop experimenting with Perl and go find a "newer" language.

All this while there are IDEs (I believe some of them free) that contain a graphical debugger similar to the one that person expects and there is the Devel::ptkdb which (even if it looks a bit strange in some regards) is still much closer to the expectations and needs of that guy/gal.

So please, do keep in mind who are you talking to. We do not want to scare people away, do we? :-)

Replies are listed 'Best First'.
Re: Right answers for the right people
by zentara (Archbishop) on Aug 27, 2008 at 16:40 UTC
    If we were all at a big school, we would say, "how did you get into this classroom, 6th grade is across the street". On the internet, anyone can showup anywhere.

    I have to say that Devel::ptkdb does fit the bill, because there are so many "how-to's" for it out there, that show you step by step how to debug things, like remote cgi scripts.

    It would be nice if there was somesort of geek-code cookie that everyone could access when corresponding to everyone else, stating their knowledge level of different things.

    # 1.. 10 computers 7 software 2 cars 0 football 10 law 9 world affairs 5 chicks 0
    Ahh.... when the geeks take over the world.....it will be great. Everyone will have multiple XP ratings. :-)

    I'm not really a human, but I play one on earth Remember How Lucky You Are

      Due to the number of subjects there is not a single grade you could send people to. You can be an experienced developer with several big projects under the belt and still know nothing about unix/windows/mac/xxx 'cause you've spent all the time using xxx/mac/windows/unix. Likewise you may have spent the whole time using graphical UIs and IDEs or you've started with a prompt and are used to CLIs and text mode interfaces. Either is possible and neither should prevent you from starting with Perl. Or even just make it harder to start with Perl.

      There is not a single path of learning nor a single goal. And your geekcode would have to be much more complex than this. Even if you kept it on topic for PerlMonks :-)

        And your geekcode would have to be much more complex than this.

        Of course, and I thought I was being facetious. The best approach is to give as simple and clear answer as you can, assuming the other person will understand. Then if they give followup questions, determine their skill level by the nature of the question.

        The one followup question that I always get, about Perl being a commandline line program, that makes me cringe, is " oh, it's DOS". I usually just say yeah, it's a suped-up DOS. :-)


        I'm not really a human, but I play one on earth Remember How Lucky You Are
        > Due to the number of subjects there is not a single grade you could send people to.
        

        As I see it, there's only one subject that's required here - or in almost[1] any Net.place that has technical achievement as its goal: you need to be Net-savvy to do well. It's a social skill rather than a technical one; primarily, it's the ability to not violate the group standards - the social grace, if you will, that's necessary to fit in without making too big of a splash. A humble newbie who has done what little Net searching he was capable of and who presents his question in a pleasant manner, especially if he shows that he's done his work and is now at the end of his knowledge and ability, will usually find a whole abbey full of Monks to clue him in and lead him in the right direction - whereas someone who just needs a tiny clue and has a dozen years of Perl experience but comes across as a raving, arrogant jerk is going to encounter nothing but a hard time. People will intentionally withhold information and jerk his chain. I've seen it happen.

        I don't think that anyone here is into chasing away the poor benighted clueless newbies; in fact, given the generous breadcrumb trails that I've seen laid out by people like BrowserUk, Grandfather, and many others, I'd say that this is one of the friendliest places on the Net. But it also militates against the arrogant and the willfully obtuse. Frankly, I think it strikes a good balance - and that's one of the major reasons that I like it here. :)

        [1] "Almost" because there are many places on the Net where the idiots outnumber the pros. It's always September, somewhere on the Net.

        
        -- 
        Human history becomes more and more a race between education and catastrophe. -- HG Wells
        
        So please, do keep in mind who are you talking to. We do not want to scare people away, do we? :-)

        Situational awareness? Context awareness? OK :D

Re: Right answers for the right people
by Mutant (Priest) on Aug 28, 2008 at 08:37 UTC

    I agree. I don't think there's any point in shielding people from the truth, but at the same time, there's no point in scaring people off when you can easily avoid it. A better answer to the question might've been:

    "The ususal way is to use the perl debugger (point to PODs), but there are graphical altneratives available (preferably point to those)."
    I think this highlights a small attitude in the Perl community along the lines of "you're not a *real* developer unless you use vim / *NIX / CLI, etc". Just to emphasise, I do think this is a *small* problem, but not an insignificant one, not least because some of the "higher ups" in the community can sometimes give this impression (even if it's not intentional).

    Maybe vim + CLI works for you, but a huge amount of developers prefer to work in a fully functional IDE these days.

Re: Right answers for the right people
by dwm042 (Priest) on Aug 28, 2008 at 14:49 UTC
    Jenda, at one level I'd have to agree that an answer should be targeted to the person asking. When I write answers (I tend to answer people asking basic questions in SOPW) I look for links and embed them in the text at appropriate places. I try to write code and run the code that I write and place both in the answer, when appropriate.

    However in defense of our occasional curmudgeon, they perform a necessary task. They are the first to be irritated when someone asks the same question four or five times, and to tell them to stop. And yes, sometimes the folks wedded to a terse, blunt reply will answer the question of a raw beginner.

    I'll simply point out there is no law preventing other people from answering at those times as well. One of the real gifts of Perl Monks are the questions with several replies, showing four or five ways to resolve problems, and two or three lucid explanations of the problem. It enriches everyone.

Re: Right answers for the right people
by Erez (Priest) on Aug 28, 2008 at 07:20 UTC

    So please, do keep in mind who are you talking to. We do not want to scare people away, do we

    Why not?
    Sometimes you need to scare people. Some will go away crying, some will try again and be scared again, but some will go and read, study a bit, ask around, and try harder.

    Similar to non *NIX users saying "Your OS is cool: it's stable, secure, and powerful, but why doesn't it do [something 'user-friendly'] like my OS?" To which the answer is "because then it wouldn't be able to stay stable, secure and powerful".

    Same with Perl, if you are not willing to do some digging in, getting your hands dirty, testing, comparing, reading, learning, you won't understand why Perl is good at all, and why its better than "the other programming language" that you think so much of.

    Stop saying 'script'. Stop saying 'line-noise'.
    We have nothing to lose but our metaphors.

      There's scaring away and scaring into trying harder. And regarding the "something user-friendly" ... usualy the answer is "sure it can do that, install X if you need it.".

        There's scaring away and scaring into trying harder

        And for those who aren't motivated to invest some energy those are the same. And that's the kind of people you usually don't want in your community or project.

        Admittedly your example with the graphical debugger was quite extreme, and linking to perldebtut might not be the best answer.

        But I think that Erez' point was that there are cases where scaring people isn't wrong, and I have to agree.

        For example when people ask the same question on the CB here all over, and ignore our links to FAQs and documentation, or our questions for clarification, after the third or fourth repetition I tell them some that perl can't solve their problem (which is true, because perl isn't their problem; communication is).

        (I admit that I sometimes also tell them that PHP might be better for them, because I think they fit better into the PHP community. Yes, I'm an arrogant ass sometimes).

      Stability, security, and power shouldn't be the ends themselves, though. They should be used for something.

      A train is stable, secure, and powerful, but it lacks certain features that an airplane has, like being able to cross an ocean. Trains certainly continue to be used today, but our overall system of transportation would be retarded if there were no airplanes, despite them being possibly more dangerous.

      I think a really powerful system would increasingly abstract away the mundane things, like debugging, so that our system of programming as a whole would become more efficient. I consider the fact that we still program by text to be kind of a technological failure/disappointment, kind of like our failure to travel to Mars.

        Travelling to Mars is within our capability but no-one wants to do so right now, but really what alternatives to programming by text do we have?
      Same with Perl, if you are not willing to do some digging in, getting your hands dirty, testing, comparing, reading, learning, you won't understand why Perl is good at all, and why its better than "the other programming language" that you think so much of.

      I agree, you should be willing to do those things. But maybe not on day 1 (or whatever) of coming to Perl from another language. It might be a culture shock for those people, and if we can (without too much trouble) I think we (as a community) should help ease them into it.

Re: Right answers for the right people
by Gavin (Archbishop) on Aug 28, 2008 at 09:58 UTC
Re: Right answers for the right people
by DrHyde (Prior) on Aug 28, 2008 at 10:26 UTC
    If they want a pointy-clicky-drooly interface then they need to ask for it.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (6)
As of 2024-03-19 11:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found