What was your strategy?

J

Jorge Biquez

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
 
S

Seebs

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
 
J

James Harris

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
 
M

MRAB

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. :)
 
P

Paul Rubin

Jorge Biquez said:
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.
 
R

rustom

Jorge Biquez said:
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.
 
G

Grant Edwards

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?
 
J

John Nagle

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
 
T

Tomasz Rola

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.


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:[email protected] **
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,169
Messages
2,570,915
Members
47,456
Latest member
JavierWalp

Latest Threads

Top