By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,547 Members | 1,435 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,547 IT Pros & Developers. It's quick & easy.

Need advice on choosing skills.

P: n/a
When I had been programming for a few years, I realised that as much as
a love to learn, I can only explore and be proficient at a limited
subset of technologies. I explored different languages to use for
general purpose programming including C, C++, Java, Perl, Ruby, and
Python. Of those languages, I chose to focus on Python because of many
reasons including clean design, high productivity, and an intelligent,
helpful community. My choice was against the grain of popularity as C++
and Java are often touted as the 'Enterprise' languages. One of my
friends thinks I'm wasting my talent learning and using smallish
technologies. Example: "Why learn PHP, Python, GTK, ... when you can
just learn Java". J2EE, .NET, WebSphere, etc, are quite prevelant in
the bussiness world and sometimes I question my choice to focus on
Python because there do not seem to be many opportunities to use it in
the business world. I really love the language and enjoy programming
with it much more than others, but should I be learning other
technologies? J2EE? WebSphere? I realize that I should use the best
tool for the job at hand and that is not what I'm talking about. I
don't plan on writing a device driver in Python.

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.

Randall
Jul 18 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Randall Smith <ra*****@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
rm***@pobox.com
Jul 18 '05 #2

P: n/a
Funny you said that.

I chose Postgresql about a year ago to use at work for several projects
and have never looked back.

I started working with wxPython about 2 months ago and like it for the
same reasons.

I built a website using Webware.

I'm looking for a solution for tying together PHP to a python backend.
xmlrpc, soap , corba maybe. Might twisted be good for this?

Thanks.

Randall

Robin Munn wrote:
Randall Smith <ra*****@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.

Jul 18 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.