Hi Mark, I recently started dabbling with Java, which has some great texts on object-oriented design and patterns (a skill that I'm finding helps with Python).
If you have time on your hands, you might want to consider learning a programming language that has a different philosophy or approach than Python. So instead of Ruby (which I've found is strikingly similar to Python in many respects), you might want to consider a language like Lisp or Erlang. I'm no expert though, so I'll just point you to the article where I first encountered that advice: Teach Yourself Programming in Ten Years http://www.norvig.com/21-days.html And the portion relevant to your question: "Learn at least a half dozen programming languages. Include one language that supports class abstractions (like Java or C++), one that supports functional abstraction (like Lisp or ML), one that supports syntactic abstraction (like Lisp), one that supports declarative specifications (like Prolog or C++ templates), one that supports coroutines (like Icon or Scheme), and one that supports parallelism (like Sisal)." Good luck with the learning! Regards, Serdar _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor