How to start when you don't know what to do

Hi Steven,

First let me say, your question is great. It is humble and great too.
Then, I would say, just do it. Sorry for the cliché, but
programming is a lot of trial and error. If you don't do, you will not make
errors, and you will not learn.

But lucky for you, you live in the age of Internet. So, you have this
list, physics forums, and places like stackoverflow.

Asking the list is not a bad idea. Search isn't also. A lot of times, I started
writing code, and then realized I don't know even how to formulate the
So, I just googled and browsed stackoverflow, until I found a way to
ask the question.

Many times, I realized I already know most of the answer and just
needed a little help.
This help came from the list or from people in stackoverflow (which by
the way rewards
for asking good questions too! you'd get a lot of upvoted for that).

If you are newbie - and also if you aren't - and you still don't know
IPython - use
It makes the learning curve of Python way smoother. It gives you
documentation in very very
handy way, and pressing TAB [1] shows you what every object can do (in
other words, OO
terminology, which methods the object has).

And finally, be patient. Any significant learning you do, takes time.
Don't expect to do fancy graphs
right away. Man, I had plotted about 120 alone in my master thesis.
Luckily, I already trained during
my courses before, although the assignments were supposed to be done
in Matlab (yuck!), I insisted doing
everything in Python two. And you know what? 2 years later when I look
at my codes written back
then, I think "eww... I could that better, and this too!". It will
happen to you too.
You will start awkward, not sure, with many ugly hacks. And then
suddenly, after 1-2 years, you will
realize you speak Python, and you know how to read the very good
documentation of matplotlib.
It will happen to you too.

I am also adding a link to a nice blog I follow about numpy and matplotlib:

Good luck, and enjoy the journey.


[1] this feature is also available also in a normal Python session
under certain conditions ...