Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Never be an expert Programmer

by RichardH (Sexton)
on Mar 27, 2000 at 18:34 UTC ( [id://6234] : perlmeditation . print w/replies, xml ) Need Help??

Always strive to retain the Beginner's Mind. When you think you know everything about a programming environment, you will, almost immediately, say something or do something incredibly stupid. Can you look at each problem as if it were new? Can you always find something different? If you cannot, your joy in programming will diminish. Can you program with compassion for yourself?

Replies are listed 'Best First'.
RE: Never be an expert Programmer
by Anonymous Monk on Apr 07, 2000 at 22:32 UTC
    Once Knight approached a novice. - What are you doing? - Knight asked. - I'm trying to fix this Lisp Machine by power-cycling it - replied th +e novice, at which Knight smiled and said: - You can only fix something when you understand what is wrong with it +. Knight then power-cycled the Lisp Machine, and it worked.
Re: Never be an expert Programmer
by artist (Parson) on Jan 08, 2003 at 18:17 UTC
    Hi, I think that expert is:
     A. Know many  tools in the field.
     B. Know how to use those tools.
    Now the question of 'why/what/where/when' etc is that comes with the practicing expertness just like doctors and lawyers are 'practicing'.
    What u have in mind about practicing beginner's mind? Remembering that tool itself is not useful, Usefuless lies in its functionality to get something useful to you. I would like to see 'usefulness' in your context.


RE: Never be an expert Programmer
by hexram (Initiate) on Mar 28, 2000 at 00:56 UTC
    Please elaborate a little on the "expert Programmer" part of the Meditation. What exactly is an "expert Programmer"? Is this human being - may I presume that you are refering to persons - like a Larry Wall on Perl or a Dennis Ritchie on C that do know each and every little tidbit of their programming languages because they made them? I do not believe it because programming languages, programs and - to a lesser extent - egg beaters always find someone so imaginative to use them in ways far distant from their purported purpose as to astonish their own creators.
    So then, who? Does Batman program? Who can solve any problem you can think of using programs and thus be called "expert Programmer"? Me, I want a program to write programs, please...
    Sorry. I do not mean to be sarcastic or caustic or whatever. Just tend to believe that in the same sense that is just silly to conceive an "expert human being", so the idea of an "expert Programmer" is difficult for me to grasp. After being in the trenches for 25 years or so, I still try to learn whatever I can from each and every problem I met, no matter how battered up it may look at first sight - you know, ye-olde-merge-sort or whatever - because, for me, to live is just to learn.
    Do you want to live forever?
      I'm not so sure that I see your point. You seem to be yelling that you agree with him, but without understanding that you are agreeing with him. If you read a little more carefully you will see that, according to what he is saying, the attitude of being an Expert is exactly the attitude that stops you from learning.

      For example, I don't know if you know who Woody Herman was, but he was considered to be one of the greatest claranette players ever to live and at the age of 76, after he had been playing for about 65 years, he stopped taking lessons, quite simply because he went into the hospital and died.

      So here is a man whom we may consider and Expert in his field, and yet he continued to learn new things about his craft up untill 5 weeks before he died. When asked about his accoplishments, and called a Master of his instrament, he would comment that he hadden't mastered anything, and was still taking lessons. What the comment setting all of this off is saying is exactly this:

      The very moment that you think of yourself as an Expert is the very moment that any expertness you had vanishes

      Without realizing it you are agreeing with him.


        Hmm... I agree. I think that frequently people try to master a field; kind of implies that you are its master, that you control the field that you're studying.

        I think a healthy approach is to be immersed in a field. Let it lead you where it wants you to go.

        Ever notice that great developments in a field generally happen right after an "expert" in the field claims that further developments are impossible?

        I'm an expert at nothing, except at being wrong. And I love it when people call my expertise at that into question... (It never happens, though...)

      I agree with the initial poster. You are quite mistaken about the references to "beginner" and "expert." In Shunryu Suzuki's book "Zen Mind, Beginner's Mind" he says that "In the mind of the beginner there are many possibilities, but in the mind of the expert, there are few."
        I can't entirely agree with that. Perhaps we could make the distinction between the genuine (and humble) expert and the soi-disant expert.

        In my case, though I've only been using Perl for a year, I don't consider myself an apprentice. I don't consider myself a master, either. But the more I learn about the language, the more I realize that there are very few limits as to what can be done with it. For example, reading the chapter on Multiple Dispatch in Object Oriented Perl made me realize just how flexible the language is. It gets out of my way when I want to do something really tricky.

        The thing about beginners is, while they don't know what is impossible, they also don't have the vocabulary or the experiential wisdom to know how to turn the impossible into the possible. There's a thin line to walk there. (Maybe that's the point all along.)

RE: Never be an expert Programmer
by socketman9 (Initiate) on Mar 30, 2000 at 22:27 UTC
    well said - humility is a gift.