Need advice on choosing skills.
Robin Munn
rmunn at pobox.com
Sun Mar 21 00:03:15 EST 2004
Randall Smith <randall at tnr.cc> wrote:
> The big question. In the limited time I have, what technologies would
> you suggest I learn and why? I realize the question 'Depends' on many
> factors. If it helps, I'm not money-hungry. I simply want to be
> productive, help others with my skills, and make choices that are good
> for the computing world at large.
If your focus is on doing useful stuff, then learn things that will
directly help you in that goal. For example, I would suggest a
cross-platform Python GUI as a good next step. I chose wxPython myself
because it can run and look native on Windows, Mac, and all forms of
Unix that GTK has been ported to (which is just about all of the popular
ones). I wanted to pick a GUI that would let me *easily* write
cross-platform apps that would run on Unix, Mac and Windows, because
there's a lack of quality open-source software for the latter two
platforms. I rejected Tkinter because adding another scripting language
underneath Python seemed a bit much, and I didn't find that Tkinter
looked "native enough" on Windows. (I understand that it has improved a
bit since I looked at it, but by now I've invested enough time in
learning wxPython that I'll just stick with that.)
After learning wxPython, I'd suggest the Twisted framework as a good
next step. (You could also very productively switch the order and learn
Twisted first, then wxPython). As of the latest version of Twisted, it
integrates nicely with wxPython, and the more I learn Twisted, the more
impressed I am with how easy it makes it to do rather powerful things.
After wxPython and Twisted, if you still have time, I'd suggest moving
away from programming languages and spending some time playing around
wiht a good database like PostgreSQL. Beyond that, if you've still got
more time, look into one of the Python-based Web frameworks. There I
can't give you a recommendation, as I'm not too familiar with them
myself.
Between Python, a GUI like wxPython, a framework like Twisted, a
transactional database system like PostgresQL, and a solid Web framework
like (insert your favorite here), you'll have a lot of quality,
multi-purpose tools in your programming toolkit with which to build
whatever application you might desire.
--
Robin Munn
rmunn at pobox.com
More information about the Python-list
mailing list