Good luck.
DIP: http://www.diveintopython.org/toc/index.html
Tutorial: http://docs.python.org/tut/tut.html
Std Modules: http://docs.python.org/modindex.html
Std Library Reference: http://docs.python.org/lib/lib.html
good luck
I did indeed learn some languages using the google route, but in retrospect, I could have saved myself a lot of time and pain if a forum like this had been around, where I could get expert opinions.
http://searchyc.com/python+tutorial
http://del.icio.us/tag/ruby+tutorial
http://technorati.com/tag/Ruby+tutorial
http://www.reddit.com/r/programming/search?q=python+tutorial...
here's a starting line: admin tasks you do repetitivly in whatever o/s you use. Automate them. Build in checks for filename conflicts, large file/network transfers, run script off hours, etc. or rewrite something from the activestate's CPAN-loose equivalent, submit it back when it's tested robust and you know it's not a dup
http://aspn.activestate.com/ASPN/Cookbook/Python
and, oh yea, Martelli's Python in a Nutshell from Oreilly. Covers 2.4, read the PEPs to see what's new in 2.5 and 2.6. Also, Matz's original ruby nutshell on Oreilly, the little one that covers 1.6. It's little outdated, but it's also a small book that you can read carefully , cover to cover
> admin tasks you do repetitivly in whatever o/s you use.
Excellent advice. When you find yourself in a situation where you keep having to do something boring and repetitive, try to write a script for it. The immediate feedback and sense of accomplishment from this will teach you things that spending weeks on internet forums never could.
Over time, I've grown out of that, and have learned to appreciate learning a language simply for the sake of learning it. Playing with Erlang and Lisp and C makes you a better Rubyist. Sub any other languages for those 4.
So my advice? Pick one. Any one will do. Spend a week hacking in it. Read a little, but don't read too much without actually using the language. Write some programs that solve a very small itch, or do something fun like simulating a swarm of bees or creating two bots that battle to the death. Play, and then after a week or two, play with something else.
I think new programmers sometimes worry about learning a language that will be financially viable, or will help them get a job. I know I did. I also know I'm worse off for that belief. I would have been better served, both personally and professionally, if I'd just played more.
I have also acquired the book "ANSI Common Lisp by Paul Graham", which is a classic and no-nonsense book. I personally find Paul Graham's approach quite refreshing.
Having seen Ruby being employed in various environments, I've also started to learn Ruby. It's a multi-paradigm and dynamic language and hope to use it in a RoR application development. It kind of forces you to think dynamically and that helps you to write more efficient code, I guess.
So far, I couldn't find enough time for either Java or Python.
And oh, lastly I must say: C++ with templates (STL) is quite indispensable. If you master C++ with all its features like STL, you'll find that it can handle a whole lot of things quite elegantly.