What was your strategy?

Discussion in 'Python' started by Jorge Biquez, Nov 14, 2010.

  1. Jorge Biquez

    Jorge Biquez Guest

    Hello all.
    Quick question. I know some of you are with Python since started,
    some other maybe later.

    I was wondering if you can share what was the strategy you followed
    to master Python (Yes I know I have to work hard study and practice a
    lot). I mean did you use special books, special sites, a plan to
    learn each subject in a special way. I would like to know, if
    possible, comments specially from some of you who in the past had
    other languages, frameworks and platforms and left (almost) all of
    them and stayed with Python.

    Thanks in advance

    Jorge Biquez
    Jorge Biquez, Nov 14, 2010
    #1
    1. Advertising

  2. Jorge Biquez

    Seebs Guest

    On 2010-11-14, Jorge Biquez <> wrote:
    > I was wondering if you can share what was the strategy you followed
    > to master Python (Yes I know I have to work hard study and practice a
    > lot). I mean did you use special books, special sites, a plan to
    > learn each subject in a special way. I would like to know, if
    > possible, comments specially from some of you who in the past had
    > other languages, frameworks and platforms and left (almost) all of
    > them and stayed with Python.


    I've been learning Python the same way I learn any language; get a
    book, read it over lunch for a few days, start typing, ask people
    how to improve my code once I have some.

    This information is almost certainly useless to you, though, unless
    you've already learned at least six or seven programming languages.

    -s
    --
    Copyright 2010, all wrongs reversed. Peter Seebach /
    http://www.seebs.net/log/ <-- lawsuits, religion, and funny pictures
    http://en.wikipedia.org/wiki/Fair_Game_(Scientology) <-- get educated!
    I am not speaking for my employer, although they do rent some of my opinions.
    Seebs, Nov 14, 2010
    #2
    1. Advertising

  3. Jorge Biquez

    James Harris Guest

    On Nov 14, 10:32 pm, Jorge Biquez <> wrote:
    > Hello all.
    > Quick question. I know some of you are with Python since started,
    > some other maybe later.
    >
    > I was wondering if you can share what was the strategy you followed
    > to master Python (Yes I know I have to work hard study and practice a
    > lot). I mean did you use special books, special sites, a plan to
    > learn each subject in a special way. I would like to know, if
    > possible, comments specially from some of you who in the past had
    > other languages, frameworks and platforms and left (almost) all of
    > them and stayed with Python.


    IMHO there's no one solution. What works for a person depends on how
    that person learns. Options: books, online free course lecture videos,
    class instruction, preexisting code, supplied documentation, online
    tutorials etc.

    I find it useful to have at least two sources, e.g. two books, as each
    author brings a slightly different approach and often make different
    assumptions (and make different mistakes). Comparing two or more makes
    it easier to see through the differences. But make sure each is
    reputable in its own right.

    For example, I used: Learning Python, and Python in a Nutshell (and
    WxPython in action for the GUI stuff). I'd recommend at least the
    Nutshell book as a reference.

    If books work for you check Amazon or similar for feedback of others.

    James
    James Harris, Nov 14, 2010
    #3
  4. Jorge Biquez

    MRAB Guest

    On 14/11/2010 23:53, Ben Finney wrote:
    > Jorge Biquez<> writes:
    >
    >> I was wondering if you can share what was the strategy you followed to
    >> master Python (Yes I know I have to work hard study and practice a
    >> lot). I mean did you use special books, special sites, a plan to learn
    >> each subject in a special way.

    >
    > I find that my strategy with learning Python was similar to strategies
    > for learning a natural language:
    >
    > * Use it, as often as feasible. Keep practicing.
    >
    > * Use it, as often as feasible, for real problems. The kind of problems
    > that I actually need a solution to will motivate me to learn when a
    > contrived exercise would not.
    >
    > * Additionally, seek out areas of the language I'm not actively using
    > and learn them too. This pretty much means I'll need contrived
    > exercises, but it guards against staying in a rut of the familiar.
    >
    > * Use it, as much as feasible, in public. Put my inevitable errors on
    > display where they can be discovered and suggestions can be made for
    > improvement. This has the not inconsiderable benefit of encouraging
    > humility also.
    >

    I'd also say: don't fight the language, but follow its idioms, and
    listen to advice from those who know it better, because there's usually
    a good reason why something is done this way and not that way. It will
    all make sense in the end. :)

    > Those all worked well when I learn a natural language, and they work
    > well for learning a programming language.
    >
    > After all, a programming language is a constructed language for
    > human-to-human communication. It happens to have the additional
    > constraint of communicating with computers as a side goal :)
    >
    MRAB, Nov 15, 2010
    #4
  5. Jorge Biquez

    Paul Rubin Guest

    Jorge Biquez <> writes:
    > I was wondering if you can share what was the strategy you followed to
    > master Python (Yes I know I have to work hard study and practice a lot).


    1. Read the tutorial http://docs.python.org/tutorial/
    2. Start writing code, and encounter various issues as usually happens.
    3. Refer to the other reference manuals, web search, and ask questions
    in the newsgroup as you run into issues.
    4. After a while you'll have hit most of the usual issues and learned
    how to deal with them, and how to find resolution for new issues that
    might come up. That's about as close to mastery as one normally
    reaches in this world.

    Python is a pretty easy language if you have a reasonable programming
    background when you first start with it. I think the way it's currently
    organized, it may not be so great for self-study if you're not already a
    programmer.

    > I mean did you use special books, special sites,


    Nah.
    Paul Rubin, Nov 15, 2010
    #5
  6. Jorge Biquez

    rustom Guest

    Jorge Biquez <> writes:
    > I was wondering if you can share what was the strategy you followed to
    > master Python (Yes I know I have to work hard study and practice a lot).



    One of the basic mistakes that folks (kids?) studying a language do is
    to study *only* the language. I guess the mistake happens more in the
    Java, VB type languages than in python but the mistake is pervasive
    nevertheless. (Its particularly dangerous with C++ which you can
    study without mastering for a lifetime)

    Python is obviously simpler/cleaner etc but still the mistake persists
    of studying past the point of diminishing returns. Specifically, an
    intelligent person who has a background of other languages can get the
    minimal,basic hang in a a day (not so intelligent and inexperienced
    may be a week or two). After that you need to study OTHER things.

    Here is such a list


    1. "python"
    2. IDE (emacs+python-mode in my case, but whatever you use, learn to
    use it)
    - debugger
    - introspection
    - ipython looks promising
    3. CS
    - algorithms
    - data structures
    - 'theory:' FSM, complexity, computability limits, O notation etc
    4. Operating Systems
    How python fits into the OS you are using
    5. Paradigms
    - scripting
    - functional
    - oo
    6. 'Advanced' Stuff
    - TDD
    - Profiling
    - C interfacing
    ...


    The difficult part is studying this stuff independent of python and
    then making the bridge.
    eg. 75% of (typical) data-structure books deal with things like
    'linked-lists' -- useless in python-- but the remaining 25% you need.
    rustom, Nov 15, 2010
    #6
  7. On 2010-11-15, Paul Rubin <> wrote:

    > Python is a pretty easy language if you have a reasonable programming
    > background when you first start with it. I think the way it's currently
    > organized, it may not be so great for self-study if you're not already a
    > programmer.


    The way what is organized? You think the language itself is organized
    poorly for self-study?

    --
    Grant Edwards grant.b.edwards Yow! I wonder if I could
    at ever get started in the
    gmail.com credit world?
    Grant Edwards, Nov 15, 2010
    #7
  8. Jorge Biquez

    John Nagle Guest

    On 11/14/2010 2:59 PM, Seebs wrote:
    > On 2010-11-14, Jorge Biquez<> wrote:
    >> I was wondering if you can share what was the strategy you followed
    >> to master Python (Yes I know I have to work hard study and practice a
    >> lot). I mean did you use special books, special sites, a plan to
    >> learn each subject in a special way. I would like to know, if
    >> possible, comments specially from some of you who in the past had
    >> other languages, frameworks and platforms and left (almost) all of
    >> them and stayed with Python.

    >
    > I've been learning Python the same way I learn any language; get a
    > book, read it over lunch for a few days, start typing, ask people
    > how to improve my code once I have some.
    >
    > This information is almost certainly useless to you, though, unless
    > you've already learned at least six or seven programming languages.


    Right. I just read over the language description and the reference
    manual. Python is a memory-safe late-binding declaration-free
    naive interpreter with classes that uses indentation for nesting
    level and reference counting for allocation. If those are all
    familiar concepts from other languages, Python is trivial.

    Python is actually rather easy to learn. It doesn't have
    the storage management problems of C and C++, the awful syntax
    of Perl, the object-as-copy semantics of Javascript, or the
    mess of stacked libraries of Java.

    John Nagle
    John Nagle, Nov 15, 2010
    #8
  9. Jorge Biquez

    Tomasz Rola Guest

    On Sun, 14 Nov 2010, Paul Rubin wrote:

    > Jorge Biquez <> writes:
    > > I was wondering if you can share what was the strategy you followed to
    > > master Python (Yes I know I have to work hard study and practice a lot).

    >
    > 1. Read the tutorial http://docs.python.org/tutorial/
    > 2. Start writing code, and encounter various issues as usually happens.
    > 3. Refer to the other reference manuals, web search, and ask questions
    > in the newsgroup as you run into issues.
    > 4. After a while you'll have hit most of the usual issues and learned
    > how to deal with them, and how to find resolution for new issues that
    > might come up. That's about as close to mastery as one normally
    > reaches in this world.
    >
    > Python is a pretty easy language if you have a reasonable programming
    > background when you first start with it. I think the way it's currently
    > organized, it may not be so great for self-study if you're not already a
    > programmer.
    >
    > > I mean did you use special books, special sites,

    >
    > Nah.


    Wow, exactly same strategy by me. Do you think it should be GPLed, by
    chance ;-) ?

    I find this way of learning to be a bit hard (it must have helped that I
    was no beginner), but somehow none other option came to my head when I was
    approaching Python some years ago. I guess I'm not a good follower of
    various written "rules of engagement". So, after tutorial I jumped over
    the standard Python docs (module index, plus library & language
    references) until I found whatever was needed at the moment.

    So choice of strategy depends on choice maker.

    BTW, I think it was very important in my case to have specific program in
    mind, begging me to write it in Python. So learning was more exciting
    thanks to this.

    I came to Python from some other languages, of which only C retains it's
    value to me nowadays. I consider myself kind of departed from Pythonland,
    in search of some other, maybe better alternatives - but it is quite
    possible Python will join C. I'm undecided, as I've not tried 3.x yet.

    As a side note, I'm not quite sure Python is good for beginners. Yes, it
    is very simple and easy to grasp. And yes, it is a bit too simple, maybe?
    So a beginner learns to think in terms of nails and hammers, but may never
    hear of screwdrivers in his programing life. I may be wrong but, thinking
    of it, I feel it was good I have been exposed to Pascal and C (and few
    other things) long before Python. I would advise Python to casual/Sunday
    programers, knowing there is big chance they will never learn more than
    this, so Python is their best option IMHO. But in case of
    "serious"/"serial" ;-) programing, I would save Python for second or third
    language. I mean, I perceive it as rather "one way to do it" language and
    forcing this "one way" on unformed programer doesn't look good.

    No offence. See? I'm still here.

    Regards,
    Tomasz Rola

    --
    ** A C programmer asked whether computer had Buddha's nature. **
    ** As the answer, master did "rm -rif" on the programmer's home **
    ** directory. And then the C programmer became enlightened... **
    ** **
    ** Tomasz Rola mailto: **
    Tomasz Rola, Nov 19, 2010
    #9
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Miguel Dias Moura
    Replies:
    0
    Views:
    376
    Miguel Dias Moura
    Feb 2, 2006
  2. John Salerno
    Replies:
    2
    Views:
    476
    John Salerno
    Mar 18, 2006
  3. Jared
    Replies:
    5
    Views:
    845
    Jared
    May 31, 2006
  4. metaperl
    Replies:
    4
    Views:
    362
    Diez B. Roggisch
    Aug 25, 2006
  5. Dennis Lee Bieber

    Re: What was your strategy?

    Dennis Lee Bieber, Nov 15, 2010, in forum: Python
    Replies:
    7
    Views:
    220
    Steve Holden
    Nov 19, 2010
Loading...

Share This Page